元组tuple
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
tu=(‘qiaofeng‘,2,‘xuzhu‘,True) print(tu[2:])
元组子元素不能更改,但是子—>子元素有可能更改
tu=(‘wuyazi‘,2,[‘qiaofeng‘,‘xuzhu‘,‘duanyu‘],True) tu[2].pop(1) print(tu)
Ture在字典、元组中换算成1
tu = (1,2,‘wusir‘,‘taibai‘,True) print(tu.count(1))
列表list
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
1.增
append 增加到最后,每次只能增加一个元素
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.append(‘aaa‘) #增加到最后 li.append([1,2,3]) #增加到最后 print(li)
Insert 插入,按照索引去增加,每次只能增加一个元素
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.insert(2,55) #按照索引去增加 print(li)
extend 尾部插入,迭代的去增
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.extend([‘q,a,w‘]) #迭代的去增 li.extend([‘q,a,w‘,‘aaa‘]) li.extend(‘a‘) li.extend(‘abc‘) li.extend(‘a,b,c‘) print(li)
2.删
pop 只能按照位置去删除,有返回值,每次只能删除一个元素
li = [1,‘a‘,‘b‘,2,3,‘a‘] l1 = li.pop(0) #按照位置去删除,有返回值 print(l1)
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.pop() #默认删除最后一个元素 print(li)
remove 按照元素去删除,没有返回值
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.remove(‘a‘) #按照元素去删除 print(li)
clear 清空
li = [1,‘a‘,‘b‘,2,3,‘a‘] li.clear() #清空列表 print(li)
del
1:删除列表
li = [1,‘a‘,‘b‘,2,3,‘a‘] del li print(li)
2.可以按照切片、索引去删除,没有返回值
# li = [1,‘a‘,‘b‘,2,3,‘a‘] # del li[0] #按照索引去删除 # del li[1:3] #按照切片去删除 # del li[1:5:2] #加步长 # print(li)
3.改
li = [1,‘a‘,‘b‘,2,3,‘a‘] li[1] = ‘dfasdfas‘ #按照索引去改 print(li) li[1:3] = [‘n‘,‘k‘] #按照切片去改 print(li)
4.查
按切片、索引或者循环
li = [1,‘a‘,‘b‘,2,3,‘a‘] a=li[2] b=li[0:3] print(a) print(b)
li = [1,‘a‘,‘b‘,2,3,‘a‘] for i in li: print(i)
5.其他操作
count(数) (方法统计某个元素在列表中出现的次数)
a = ["q","w","q","r","t","y"] print(a.count("q"))
index (方法用于从列表中找出某个值第一个匹配项的索引位置)
a = ["q","w","r","t","y"] print(a.index("r"))
sort (方法用于在原位置对列表进行排序)
ls = [1,3,6,8,7,4,2,9,10] ls.sort() print(ls)
# sort(reverse)T从大到小 F从小到大
ls.sort(reverse=True)
print(ls)
reverse (方法将列表中的元素反向存放)
a = [2,1,3,4,5] a.sort()# 他没有返回值,所以只能打印a print(a) a.reverse()#他也没有返回值,所以只能打印a print(a)
列表的嵌套
1 l1 = [‘小新‘,‘egon‘,‘wusir‘,[99,‘tiabai‘,‘ritian‘,[2,3]],2] 2 l1[1] = l1[1].capitalize() 3 l1[1] = ‘Alex‘ 4 print(l1) 5 l1[3][1] = l1[3][1].upper() 6 print(l1) 7 l1[3][0] = str(l1[3][0] + 1) 8 print(l1)
其他(for,enumerate,range)
for循环:用户按照顺序循环可迭代对象的内容。
msg = ‘老男孩python是全国范围内最好的python培训机构‘ for item in msg: print(item) li = [‘alex‘,‘银角‘,‘女神‘,‘egon‘,‘太白‘] for i in li: print(i) dic = {‘name‘:‘太白‘,‘age‘:18,‘sex‘:‘man‘} for k,v in dic.items(): print(k,v)
range:当作范围列表,列表中的元素是数字,且可控的有效数字
for i in range(1,10): print(i) for i in range(1,10,2): # 步长 print(i) for i in range(10,1,-2): # 反向步长 print(i)