05 python 初学(列表)
列表,有点像c++里的数组
# _author: lily # _date: 2018/12/16 mylist = ["xiaohong", "xiaogang", "xiaoming", "xiaoyun"] print(mylist) >>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun'] # 增删改查 # 查 切片 print(mylist[2]) # 取索引为2的元素 >>>xiaoming print(mylist[1:3]) # 取索引从1到2的元素 >>>['xiaogang', 'xiaoming'] print(mylist[1:]) # 取到最后 >>>['xiaogang', 'xiaoming', 'xiaoyun'] print(mylist[1:-1]) # 取到倒数第二个 >>>['xiaogang', 'xiaoming'] print(mylist[1::2]) # 从左到最后一个隔一个取一个,步长为2 >>>['xiaogang', 'xiaoyun'] print(mylist[3::-1]) # 从索引为3的元素开始,从右往左取 >>>['xiaoyun', 'xiaoming', 'xiaogang', 'xiaohong'] # 增 append:直接在列表最后添加; insert:可插入到某个位置。 都是作为一个元素加入 # mylist.append("lily") # print(mylist) # >>>['xiaohong', 'xiaogang', 'xiaoming', 'xiaoyun', 'lily'] # mylist.insert(1, "lily") # print(mylist) # >>>['xiaohong', 'lily', 'xiaogang', 'xiaoming', 'xiaoyun'] # 改 # mylist[1] = "lily" # print(mylist) # ['xiaohong', 'lily', 'xiaoming', 'xiaoyun'] # mylist[1:3] = ["pipi", "lily"] # print(mylist) # >>>['xiaohong', 'pipi', 'lily', 'xiaoyun'] # 删 # remove: 直接通过元素名称进行删除操作 # pop: 通过索引去删除元素,并且会返回该元素的内容 # del: 并不是列表独有的,而是通用的删除方法 # mylist.remove("xiaohong") # print(mylist) # >>>['xiaogang', 'xiaoming', 'xiaoyun'] # element = mylist.pop(0) # print(mylist) # print("element is: %s" %(element)) # >>>['xiaogang', 'xiaoming', 'xiaoyun'] # >>>element is: xiaohong # del mylist[0] # print(mylist) # >>>['xiaogang', 'xiaoming', 'xiaoyun'] # del mylist # print(mylist) #会报错,因为 del 直接将变量删除了,变量不存在,无法进行输出
增:有append 和 insert 两种方法。
append 是直接在列表后面添加; insert 传入两个参数:要添加到的具体位置和值
删: remove ,pop ,del 三种
remove:传入具体的值来进行删除
pop: 通过索引号来删除元素,并返回删除元素的具体内容。
不指定索引默认会删最后一个
del: 通用的删除方法
clear:mylist.clear() 清空
改: 直接将对应位置的元素进行重新赋值即可,可以修改列表内一段元素的值
查: 取对应索引位置的元素;
取列表内一段索引内的元素
隔一定步长取元素
倒序输出元素
# 对列表进行遍历 y = ['x', 'u', 'j', 'Z', 'Q'] for i in y: print(i) >>>x >>>u >>>j >>>Z >>>Q
enumerate 函数:给列表内的每一个元素增加一个序号,输出来是一个元组
for i in enumerate(y): print(i) 输出: (0, 'x') (1, 'u') (2, 'j') (3, 'Z') (4, 'Q')
# 若 enumerate 后面传参数 1,即 enumerate(y, 1),则元素序号从 1 开始
当用两个变量去接收list里的两个值时,这两个值会分别赋给两个变量 (元组同理)
a, b = [1, 'lily'] print(a) print(b) >>> 1 >>> lily
# 因为 enumerate(y) 的每一个元素都是一个元组:(i, y[i]),因此用两# 个变量去接收它,元组内的每一个元素会赋值给对应的变量。 for i, v in enumerate(y): print(i, v) 输出: 0 x 1 u 2 j 3 Z 4 Q
列表的嵌套:
列表嵌套是列表每一个元素可以是任何类型,字符串、数字、列表、元组都可以。
c++ 里面的数组每一个元素都必须是同类型的,这一点很不一样。
a = [[1, 2, 3],'lily' ,46 , ('pencil', 999)]
猪猪侠要努力呀!