基础数据类型之列表,元组
一:基础数据类型之字符串(续)
1,join的用法
" xxx".join( ): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。具体程序如下:
s = 'alexeweuesir' s1 = '*'.join(s) print(s1)
二:列表(list)是什么?
列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且可以存放各种数据类型。比如:li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]。列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
三:列表(list)的相关操作
1,查
列表的索引与切片取值,通过此方法所取得的元素类型与原列表的数据类型相同。具体程序如下:
l1 = ['alex',True,'wusir','ritian','taibai',3,2] print(l1[0],type(l1[0])) print(l1[1],type(l1[1])) print(l1[0:3:2]) print(l1[0:4])
2,增
列表的有关增的操作主要有append(在列表尾部追加一个元素),insert(通过列表的索引在指定的位置插入元素),extend(也是在列表的尾部追加元素,但与append不同,extend将它的参数视为 list,extend的行为是把这两个list接到一起,append是将它的参数视为element,作为一个整体添加上去的)。具体程序如下:
li1 = [1,'a','b',2,3,'a'] li1.append('aaa') print(li1) l1 = ['alex',True,'wusir','ritian','taibai',3,2] l1.insert(3,'egon') print(l1) l1 = [1,'alex',True,[1,2,3],(2,3,4),{'name':'alex'}] l1.extend('太白金星') l1.extend([1,2,33,4]) print(l1)
3,删
列表中有关于删除的操作主要有pop(根据索引删除列表中的指定元素,如果没有填写索引的话,就默认删除列表中的最后一个元素,而且该操作有返回值,返回值就是删除的元素),remove(按照具体的元素去删除),clear(直接清空列表中的元素),del(根据索引与切片删除列表中的元素) 相关程序如下:
l1 = ['alex',True,'wusir','ritian','taibai',3,2] l1.pop() #默认删除最后一个 ret = l1.pop(4) print(ret) # 有返回值 print(l1) # remove 按照元素去删除 l1.remove('alex') print(l1) clear #清空列表 l1.clear() print(l1) # del 功能1 删除列表 del l1 print(l1) # 功能二 可以按照切片,按照索引去删除 del l1[0] print(l1) del l1[0:3] print(l1)
4,改
列表中关于改的操作主要是通过索引与切片定位元素,然后再进行修改,具体程序如下:
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,] #改 #按照索引去改 # l1[0] = '男神' # print(l1) #按照切片去改 # l1[0:2] = ['屌丝','alex'] # l1[0:2] = '化工哥,树脂' # print(l1)
5,列表中的一些其它操作
l1 = [1,3,6,8,7,4,2,9,10] # len 长度 print(len(l1)) # count 出现次数 ret = l1.count(2) print(ret) # index 通过元素找索引 print(l1.index('3')) # sort 从小到大排序 l1.sort() print(l1) #sort(reverse) 从大到小 l1.sort(reverse=True) print(l1) #倒序 l1.reverse() print(l1)
6,列表的嵌套
l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[,2,3]],2] a = l1[1].capitalize() l1[1] = a l1[1] = l1[1].capitalize() l1[1] = 'Alex' print(l1) print(l1[0]) print(l1[3]) l = l1[3] s = l[1].upper() l1[3][1] = s l1[3][1] = l1[3][1].upper() print(l1) l1[3][0] = '100' print(l1) l1[3][0] = str(l1[3][0] + 1) print(l1)
三:元组(tuple)
# 儿子不能更改,但是孙子有可能更改 tu1 = (1,2,'wusir',[1,2,3],(2,3,4),'taibai',True) tu1[3].pop(1) print(tu1) tu1[3].append('taibai') print(tu1) print(len(tu)) print(tu.count(1)) print(l.count(1)) print(tu.index('wusir'))
四:range
range当做:范围列表[],列表中的元素是数字,且可控的有效数字范围一般与for 配合使用。
for i in range(1,10): #[1,2,3,4...9] print(i) for i in range(1,101): # print(i) for i in range(11): # print(i) for i in range(1,10,2): # [1,3,5,7,9] print(i) for i in range(10,0,-1): print(i) for i in range(10,-2,-1): print(i)
五:补充内容:
例:要实现列表 l1 = [1,2,3,'alex',[2,3,'wusir'],7] 中和其嵌套的小列表中的每一个元素的打印,程序如下:
l1 = [1,2,3,'alex',[2,3,'wusir'],7] for i in l1: if type(i) == list: for j in i: print(j) else: print(i)