一, 列表
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
列表的增删改查
- 增加:
append() 追加,在后面追加
insert() 插入,原来位置的元素往后移动一个,括号里面要给出插入的位置,和插入的内容
extend() 添加,迭代添加,括号里面写要添加的内容,会迭代添加进去,如果想整体添加进入的话,需要在把元素放在列表中
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)
- 删除:
pop() 弹出,括号里面给出想要弹出的索引,返回的是被删除的数据
remove() 删除指定元素,没有返回值
del lst[] 切片删除
clear() 清空
# l1 = li.pop(1) #按照位置去删除,有返回值 # print(l1) # del li[1:3] #按照位置去删除,也可切片删除没有返回值。 # print(li) # li.remove('a') #按照元素去删除 # print(li) # li.clear() #清空列表
- 改:
索引改: lst[] = 要改的内容 索引改
切片改: lst[1:3] = 要更改的内容,或迭代更改,如果想整体修改,加[]
切片改的话,如果步长不是1,元素的个数需要对应
# li = [1,'a','b',2,3,'a'] # li[1] = 'dfasdfas' # print(li) # li[1:3] = ['a','b'] # print(li)
- 查询:
列表是一个可迭代对象,可以用for循环查询
- 其他操作:
count() 计数,括号里面给出需要查询的元素,返回该元素在列表中出现的次数
sort() 排序,默认升序
sort(reverse = True) 降序
reverse() 翻转
len() 求长度
a = ["q","w","q","r","t","y"] print(a.count("q")) print(a.index("r")) a = [2,1,3,4,5] a.sort()# 他没有返回值,所以只能打印a print(a) a.reverse()#他也没有返回值,所以只能打印a print(a)
元组:
只读列表,只能查看,不能增删改,使用()表示,如果元组里面只有一个元素的话,要在元素后面加一个逗号,如果是空元祖的话,用tuple()表示
可以索引查,可以切片查,返回的是一个元组
也可以for循环查询
range :
range是一个可迭代对象,可以for循环
range(n) 打印出的是0~n-1
range(m,n) 打印出的是m~n-1
range(m,n,q) 打印出的是从m~n-1,每q个取一个
使用range 和 for循环获取列表中的索引
python2 中存在range 和 xrange
python3 中只有一个range
python2中的xrange和python3中的range是一样的
浙公网安备 33010602011771号