列表(List) 的增删改查及其他方法 和元组(tuple)的查
一、列表
1、列表简介:
列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}],列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。
1)下标取值:
li = ['刘松','liusong',123]
l1 = li[0]
print(l1) #单个取值
结果:['刘松']
li = ['刘松','liusong',123]
l1 = li[0:2]
print(l1) #切片取值
结果:['刘松', 'liusong']
2)增:
li = ['alex','wusir','egon','女神','taibai']
li.append('刘松')
print(li) #增加到最后
结果:['alex', 'wusir', 'egon', '女神', 'taibai', '刘松']
li = ['alex','wusir','egon','女神','taibai']
li.insert(4,'刘松')
print(li) #按照索引去增加
结果:['alex', 'wusir', 'egon', '女神', '刘松', 'taibai']
li = ['alex','wusir','egon','女神','taibai']
li.extend('刘松')
print(li) #分成逐个元素依次增加
结果:['alex', 'wusir', 'egon', '女神', 'taibai', '刘', '松']
3)删:
li = ['alex','wusir','egon','女神','taibai']
li.pop()
print(li) #默认删除最后一个,返回值
结果:['alex', 'wusir', 'egon', '女神']
li = ['alex','wusir','egon','女神','taibai']
li.remove('女神')
print(li) #按元素去删除
结果:['alex', 'wusir', 'egon', 'taibai']
li = ['alex','wusir','egon','女神','taibai']
li.clear()
print(li) #清空
结果:[]
li = ['alex','wusir','egon','女神','taibai']
del li
print(li) #直接删除列表,会报错。
结果:报错。
li = ['alex','wusir','egon','女神','taibai']
del li[0:2]
print(li) #切片去删除
结果:['egon', '女神', 'taibai']
4)改:
li = ['alex','wusir','egon','女神','taibai']
li[0] ='刘松'
print(li) # 根据下标更改
li = ['alex','wusir','egon','女神','taibai']
li[0:3] = '刘松abcd'
print(li) #切片修改,按照最小元素修改
结果:['刘', '松', 'a', 'b', 'c', 'd', '女神', 'taibai']
5)查:
li = ['alex','wusir','egon','女神','taibai']
for i in li:
print(i) #循环查找
结果:alex
wusir
egon
女神
taibai
li = ['alex','wusir','egon','女神','taibai']
name = li[0:4]
print(name) #切片查询
结果:['alex', 'wusir', 'egon', '女神']
6)公共方法:
li = ['alex','wusir','egon','女神','taibai']
l = len(li)
print(l) #查看列表里有多少个元素
结果:5
li = ['alex','wusir','egon','女神','taibai']
num = li.count('女神')
print(num) #查看元素在列表里出现的次数
结果:1
li = ['alex','wusir','egon','女神','taibai']
name = li.index('女神')
print(name) #查找元素在列表里的下标
结果:3
li = [1,5,4,7,6,2,3]
li.sort()
print(li) #正向排序,.sort(reverse=False)
结果:[1, 2, 3, 4, 5, 6, 7]
li = [1,5,4,7,6,2,3]
li.reverse()
print(li) #反转排序
结果:[3, 2, 6, 7, 4, 5, 1]
7)嵌套
例:
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]
8)列表转字符串
s = 'alex'
s1 = 'sb'.join(s)
print(s1) #列表转化成字符串,以''里的元素拼接。
结果:asblsbesbx
二、元祖:
1、元祖简介:
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
1)###儿子不能改,孙子可能可以改###
tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
print(tu[3]) #查找元祖下标3的元素
结果:alex
print(tu[0:4]) #查找元祖下标0-4的元素
结果:(1, 2, 3, 'alex')
for i in tu:
print(i) #循环元祖里的元素,只循环一次。
结果:1
2
3
alex
[2, 3, 4, 'taibai']
egon
tu[4][3]=tu[4][3].upper()
print(tu) #把元祖里面的列表一个元素全部大写
结果:(1, 2, 3, 'alex', [2, 3, 4, 'TAIBAI'], 'egon')
tu[4].append('sb')
print(tu) #在元祖里面的列表里增加元素
结果:(1, 2, 3, 'alex', [2, 3, 4, 'taibai', 'sb'], 'egon')
range() #就是一个元祖
例子:for i in range(3,10):
print(i) #循环打印一次,3-9的数字。
for i in range(10):
print(i) #循环打印一次,0-9的数字。
for i in range(0,10,3):
print(i) #循环打印一次,0-9的数字,步长3,间接输出0-9所有的被3整除的数。
for i in range(10,0,-2):
print(i) #循环打印一次,10-1的数字,反向步长为2。
for i in range(10,-1,-2):
print(i) #循环打印一次,10-0的数字,反向步长为2。