列表list
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
增
li = [1,'a','b',2,3,'a'] # li.insert(0,55) #按照索引去增加 # print(li) # # li.append('aaa') #增加到最后 # li.append([1,2,3]) #增加到最后 # print(li) # # li.extend(['q,a,w']) #迭代的去增 # li.extend(['q,a,w','aaa']) # li.extend('a') # li.extend('abc') # li.extend('a,b,c') # print(li)
删
# l1 = li.pop(1) #按照位置去删除,有返回值 # print(l1) # del li[1:3] #按照位置去删除,也可切片删除没有返回值。 # print(li) # li.remove('a') #按照元素去删除 # print(li) # li.clear() #清空列表
改
# 改 # li = [1,'a','b',2,3,'a'] # li[1] = 'dfasdfas' # print(li) # li[1:3] = ['a','b'] # print(li)
查
切片去查,或者循环去查。
其他操作。
count(数)(方法统计某个元素在列表中出现的次数)。
1 a = ["q","w","q","r","t","y"] 2 print(a.count("q"))
index(方法用于从列表中找出某个值第一个匹配项的索引位置)
1 a = [2,1,3,4,5] 2 a.sort()# 他没有返回值,所以只能打印a 3 print(a) 4 a.reverse()#他也没有返回值,所以只能打印a 5 print(a)
列表的嵌套
列表的嵌套采用降维操作.一层一层的看就好.
lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"]]
# 找到wusir print(lst[2])
# 找到太白和wusir print(lst[1:3])
# 找到太白的白字 print(lst[1][1])
# 将wusir拿到. 然后首字母大写. 再扔回去 s = lst[2]
s = s.capitalize() lst[2] = s print(lst)
# 简写
lst[2] = lst[2].capitalize() print(lst)
# 把太白换成太黑 lst[1] = lst[1].replace("白", "黑") print(lst)
# 把马虎疼换成马化疼
lst[3][0] = lst[3][0].replace("虎", "化") print(lst[3][0])
lst[3][1].append("雪碧") print(lst)
li = [1, 5, True, "哈哈", ["张无忌", "wusir", "周芷若", "赵敏"], ["金庸", "琼瑶", "古龙", "孙晓"]] # 将wusir拿到. 然后首字母大写. 再扔回去 # 找到wusir, 变成大写. li[4][1] = li[4][1].capitalize() print(li) print(li[2]) # True print(li[4]) # 列表 print(li[4][2]) # 列表中的列表 print(li[4][2][1]) # 敏 li[5].append("唐家三少") # 追加 print(li)
元祖tupe。
元组: 俗称不可变的列表.又被成为只读列表, 元组也是python的基本数据类型之一, 用小括号括起来, 里面可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.
tu = (1, "太白", "李白", "太黑", "怎么黑") print(tu) print(tu[0]) print(tu[2]) print(tu[2:5]) # 切片之后还是元组 #for循环遍历元组 for el in tu: print(el) #尝试修改元组 #tu[1] = "马虎疼" # 报错 'tuple' object does not support item assignment tu = (1, "哈哈", [], "呵呵") # tu[2] = ["fdsaf"] # 这么改不行 tu[2].append("麻花藤") # 可以改了. 没报错 tu[2].append("王剑林") print(tu)
关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.
元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组
tu = (1,) print(type(tu))
元组也有count(), index(), len()等方法. 可以自己测试使用
range
range可以帮我们获取到一组数据. 通过for循环能够获取到这些数据.
for num in range(10): print(num) for num in range(1, 10, 2): print(num) for num in range(10, 1, -2): # 反着来, 和切片一样 print(num)