1、元祖tupe。
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
2、列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
- 增
1 li = ['alex','wusir','egon','女神','taibai'] 2 3 li.insert(2,55) #按照索引去增加 ['alex', 'wusir', 55, 'egon', '女神', 'taibai'] 4 5 6 li.append(1) #增加到最后 ['alex', 'wusir', 'egon', '女神', 'taibai',1] 7 li.append([1,2,3]) #也可以在列表里嵌套列表 ['alex', 'wusir', 'egon', '女神', 'taibai', [1, 2, 3]] 8 9 10 li.extend('abc') #迭代的去增 ['alex', 'wusir', 'egon', '女神', 'taibai', 'a', 'b', 'c'] 11 li.extend('a,b,c') #['alex', 'wusir', 'egon', '女神', 'taibai','a', ',', 'b', ',', 'c'] 12 13 14 li.extend(['q,a,w']) # ['alex', 'wusir', 'egon', '女神', 'taibai', 'q,a,w'] 15 li.extend(['q,a,w','aaa']) #['alex', 'wusir', 'egon', '女神', 'taibai', 'q,a,w', 'aaa'] 16 17 #['q,a,w'] 迭代增加在新增项为【列表】时,会对列表进行拆分,将该列表中的元素新增到列表【li】中 18 19 print(li)
- 删
1 print(li.pop(1)) #按照位置(索引)去删除,有返回值 使用pop删除具有返回值'wusir' 2 print(li) # ['alex', 'egon', '女神', 'taibai'] 3 li.pop() #不填索引 默认删除最后一个 4 print(li) #['alex', 'wusir', 'egon', '女神'] 5 6 del li[1] #按照索引位置删除 7 print(li) #['alex', 'egon', '女神', 'taibai'] 8 del li[1:3] #按照位置去删除,也可切片删除没有返回值。 9 print(li) #['alex', '女神', 'taibai'] 不能直接打印del li[1:3] 10 11 li.remove('alex')#按照列表中的元素去删除 12 print(li) #['wusir', 'egon', '女神', 'taibai'] 13 14 li.clear() #清空列表 15 print(li) #[] 列表当中元素已经清空
- 改
1 li[1] = 'change' #根据位置修改列表内元素 2 print(li) #['alex', 'change', 'egon', '女神', 'taibai'] 3 4 li[1:3] = ['q','a',3] #也可切片修改列表内元素 5 print(li) #['alex', 'q', 'a', '女神', 'taibai'] 6 7 li[1:3] = '哼哈' #切片修改只赋予一个值时,如果该值为可拆分字符串会进行拆分补充 8 print(li) #['alex', '哼', '哈', '女神', 'taibai'] 9 li[1:3] = '哼哈二将' # 10 print(li) #['alex', '哼', '哈', '二', '将', '女神', 'taibai'] 11 li[1:3] = 'a' #切片修改只赋予一个值时,且该值为不可拆分字符串时,该值会取代切片区域 12 print(li) #['alex', 'a', '女神', 'taibai'] 13 14 li[1:3] = 1 #切片修改只赋予一个值时,且该值为数字时,修改会报错 15 li[1:3] = 123 #无论该数字有几位,修改均会报错 16 17 li[1:3] = [123] #切片修改赋予一个值值为列表时,列表中的元素被补充至切片区,且顾头不顾尾 18 print(li) #['alex', 123, '女神', 'taibai'] 19 li[1:3] = [123,'abc','456',666] ##切片修改赋予一个值值为列表时,列表中的元素被补充至切片区,且顾头不顾尾,多写多填 20 print(li) #['alex', 123, 'abc', '456', 'taibai']
- 查
1 print(li.index('taibai')) #列表查询只能使用index,不能使用find。 2 3 print(li.index('wusir',0,4)) #切片查询
- 计
1 li = ['alex','wusir','egon','女神','taibai',['taibai',123,888,'afsf']] 2 3 print(li.count('taibai')) #从列表中匹配相同元素并计数,不能用于嵌套列表 1 4 5 print(li[5].count(123)) #计数嵌套列表下123的数量 1 6
- 序
1 a = [2,1,3,5,4] 2 3 a.sort() #正序排列 没有返回值,所以只能打印a 4 print(a) #[1, 2, 3, 4, 5] 5 a.sort(reverse=True) #倒序排列 6 print(a) #[5, 4, 3, 2, 1] 7 8 a.reverse() #反转排序 9 print(a) #[4, 5, 3, 1, 2]
- 拓
1 li = ['alex','wusir','egon','女神','taibai',['taibai',123,888,'afsf']] 2 3 li[5][1] = 666 #修改列表内的嵌套列表元素 4 print(li) #'alex', 'wusir', 'egon', '女神', 'taibai', ['taibai', 666, 888, 'afsf']] 5 6 # 单项输出列表内元素包含嵌套列表 7 8 for i in li: 9 if type(i) == list: #type(i) == type(li) 10 for q in i: 11 print(q) 12 else:print(i) 13 14 15 ['alex', 'wusir', 'egon', '女神', 'taibai', ['taibai', 666, 888, 'afsf']] 16 alex 17 wusir 18 egon 19 女神 20 taibai 21 taibai 22 123 23 888 24 afsf