列表:

stus= 'ada,dsfas.,saf,sdfas,saf'  #字符串
new_stus = ['','','linux','123','数组']   #列表 取值方便

#列表,数组,listarray  指的是一样的东西  不同叫法
#下标,索引,角标,编号
print(new_stus[2])   #根据下标取值
print(new_stus[-1])  #最前面一个元素下标是0 ,最后面一个下标是 -1

cities = []
增加 append&insert
cities.append('北京')   # append在列表末尾增加一个元素
cities.insert(-1,'上海')  #在指定的位置增加,这里不能写负数(负数和0一样的效果),他不会再最后添加
cities.append('天津')
print(cities)

删除

cities.pop(0)  #删除指定位置下标
cities.remove('北京')   #删除指定元素名称
cities.clear()   #清空list
del cities[0]       #删除指定位置
print(cities)

修改
print(cities)
cities[-1]='山西'    #修改时候如果指定下标不存在,会报错
print(cities)

查询
print(cities[0])        #查找指定位置
print(cities.index('天津'))   #获取元素下标,如果找不到就会报错
print(cities.count('天津'))   #查看元素在list中出现了多少次

翻转list

mylist = ['','','linux','']
mylist.reverse()   #只是把list翻转一下,并不输出
print(mylist)

排序
num = [1,4,4,2,2345,6]
# num = ['f','s','c','b','a']
num1 = ['北京','山西','为难','天津','阿门']
# num.sort()              #排序--升序,并没有返回值
num.sort(reverse=True)    #排序--将序,并没有返回值
print(num)
print(num+num1)         #合并list
print(num*2)            #复制

多维数组

words = ['view','code','tools',['price','num',198,['hello','usa','吃鸡']]   ] #二维数组
print(words[-1][-1][1])
print(words[-1][2])

-1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取

列表循环
lists = ['大安市','是打发','范德萨','理解']
for name in lists:
    print(name)
字符串循环
words = 'asdfa,答复,阿斯蒂芬'
for name1 in words:
    print(name1)

#for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素,循环list输出的是list里每一个值(小单位),如果是字符串,输出的是字符串每一个字符

 

切片

# 切片是list取值的一种方式
nums = ['段佳林','陈卫亮','王占宇','李博']
      #  0        1       2         3
print(nums[1:3])

print(nums[0])
print(nums[1:3])  #顾头不顾尾
print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
print(nums[:]) #取所有的

lis = list(range(1,21))
print(lis)
print(lis[::2]) #步长,隔几个取一次
print(lis[::-2]) #步长,隔几个取一次
如果步长是正数的话,从左往右边开始取值
如果步长是负数的话,从右边往左边开始取值
print(lis[::-1]) #反转list
print(lis)
print(lis[1::-1])
print(lis[:])
lis.reverse()  #改变了原来list的值
print(lis)
# new_list = lis[::-1]  #产生了新的一个list,不会改变原来list的值
# print(new_list)
# print(lis)
切片操作同样适用于字符串。
# info = '你好,今天天气很好'
# #        0 1 2 3 4 5 6 7 8
# print(lis)
# print(lis[:18:-1])
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
                                                                 #18 # 19
#
# print(lis)
# print(lis[::-2])
# print(lis[::-1])
# # print(lis[:18:-1])  # -1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取
s = 'hahaha'
s = '小黑'
print(s)
print(s[0])
print(s[::-1])

List练习

校验用户名是否合法:
   # 输入账号       #input
   # 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【  】
   #不能为空          #strip()
   #用户名长度长度6-12之间 len()
   #最多输入3     #循环

all_users =  ['阿斯蒂芬','看会','zhangwifi']
for i in range(3):
   username = input('请输入账号:').strip()
   if len(username)>5 and len(username)<13:
      if all_users.count(username)>0:
         print('这个名字太好啦,已经被注册啦!')
      else:
         print('名字不错,赶紧注册吧!')
         break
   else:
      print('用户名长度不合法!长度6-12之间!')
else:
   print('失败次数过多')

将交作业和未交作业的学生分开

stus=[
     ['小明','未交'],
     ['小白','已交'],
     ['小紫','已交'],
     ['小红','未交'],
     ['小绿','未交'],
     ['小黄','未交'],
     ['小黑','已交']
   ]
pass_list = [ ] #所有已经交作业的同学
fail_list = [ ] #没有交作业同学的名字
for stu in stus:
   status = stu[1] #状态
   name = stu[0] #名字
   if status == '未交':
      fail_list.append(name)
   else:
      pass_list.append(name)
print('未交作业的所有同学是 %s ,总共有 %s 个人'%(fail_list,len(fail_list)))
print('已交作业的所有同学是 %s ,总共有 %s 个人'%(pass_list,len(pass_list)))

List循环

lists = [
   '张流量','wifi','王路由器','牛网线',[1,2,3,4]
       ]
words='marrylilyjoker'
# for i in range(4):  #其他语言
#  # 0 ,1,2,3
#     print(lists[i])

for name in lists:
   if type(name)==list:  #判断一个变量的类型
      for i in name:
         print(i)
   print(name)

循环删list用copy模块

a = [1,1,2,3,3,4,5,5,6]    #循环删list里面的数据的时候,结果会不正确
a1 = [1,1,2,3,3,4,5,5,6]

#删除的时候用copy模块
import  copy
a1 = a                  #浅拷贝
a2 = copy.deepcopy(a)   #深拷贝
##浅拷贝和深拷贝的区别就是深拷贝会重新开辟一个内存空间
# for i in a1:
#     if i%2 != 0 :
#         a.remove(i)
# print(a)

python第二课list基本命令的更多相关文章

  1. Python 第二课笔记

    1.模块初识 Python标准库和第三方库, 写好的功能封装好,起个名字,就是模块也叫库,直接导入就能用了. 标准库就是不需要安装,就能够导入的库 第三方库必须下载,安装才能使用的库. 1.1 两个标 ...

  2. 小哈学Python第二课:Hello Word

    Python入门 1.Hello World 2.Hello World

  3. python第二课——数据类型1

    day02(上午)主要讲了进制问题,小编之前已经发过了 day02(下午): 1.数据类型: 分类: 1).整数型:int浮点型(小数):float布尔型(True/False):bool 2).字符 ...

  4. python第二课--分支结构与循环结构

    if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...

  5. python第二课

    本节内容 1.列表list.切片 2.字典dict

  6. Python第二课-输入输出

    name = input() 输入的字符串已经赋值给变量name print() 输出内容 print(,) print中,连接字符串相当于空格

  7. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  8. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  9. 少儿编程:python趣味编程第二课,如何在pygame中写文字

    python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发 ...

随机推荐

  1. position的用法(top, bottom, left, right 四个定位属性配合进行使用)

    一般情况下 页面元素的定位方式是根据文档流也就是说默认的从上到下,从左到右的方式进行排列的,而将元素从文档流脱离出来显示的方式有两种,一种是 position 定位另一种是float 浮动,这里我们详 ...

  2. MVC-基础01

    MVC体系结构将应用程序分成三个主要组件:模型(Model).视图(View).和控制器(Controller).在ASP.NET MVC应用程序中,数据操控的逻辑包含在Models文件夹下,数据的展 ...

  3. TensorFlow-keras fit的callbacks参数,定值保存模型

    from tensorflow.python.keras.preprocessing.image import load_img,img_to_array from tensorflow.python ...

  4. tp5.1部署到IIS服务器404

    本人小白一枚,本地用的apache环境,公司让做了一个小项目,在本地写好之后,一切调试好,就直接交给了主管,之后别人负责上线. 就这样平淡的度过了两天,今天突然和我说,除了首页其他链接都是404,我想 ...

  5. 为什么redis是单线程的以及为什么这么快?

    官网的说法 我们先来认真看一下官网的说法.翻译过来大意如下: CPU并不是您使用Redis的瓶颈,因为通常Redis要么受内存限制,要么受网络限制.例如,使用在一般Linux系统上运行的流水线Redi ...

  6. python信息收集(四)

        在前三篇中,我们介绍了使用python脚本发现二层.三层的主机设备,接下来我们介绍使用python发现第四层主机.     在TCP/IP协议中,第四层为传输层,主要使用的通信协议为TCP协议 ...

  7. phpspider框架的使用

    手册:https://doc.phpspider.org/configs-members.html 参考:https://www.jianshu.com/p/01052508ea7c 不多说,代码贴上 ...

  8. Test Test...

    标题: Test(一级标题) Test(二级标题) Test(三级标题) 列表: test(列表) Alpha Beta Gamma test 2 Delte Epsilon 链接: 点兔成金斐波那契 ...

  9. 2019-2020-1 20199303《Linux内核原理与分析》第七周作业

    进程的描述 1.进程概念 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位.进程由程序段.数据段.PCB组成 2.PCB中的信息 ①进程标识符 ②处理机状态 ③进程调度信息 ④进程控制 ...

  10. Scala的自定义类型标记

    Scala的自定义类型标记 Scala中有很多千奇百怪的符号标记,看起来是那么的独特,就像是一杯dry martini-好像黑夜中的萤火虫,那么耀眼,那么出众. 好了言归正传,这一篇文章我们会讲一下S ...