列表(list)的增删改查及操作方法和元组(tuple)的查

一、列表

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

1、增

1.1、append()增加到最后

li = ['a','b',123,'你好',1]
# append增加到最后
li.append('abc')
print(li)

输出结果 :['a', 'b', 123, '你好', 1, 'abc']

 1.2、insert()插入,按照索引去增加

li = ['a','b',123,'你好',1]
li.insert(2,'早')
print(li)

 输出结果 :['a', 'b', '早', 123, '你好', 1]

 1.3、extend ()迭代的去增

li = ['a','b',123,'你好',1]
li.extend('abcdef')
print(li)
li.extend([1,2,3])

 输出结果 :

['a', 'b', 123, '你好', 1, 'a', 'b', 'c', 'd', 'e', 'f']
['a', 'b', 123, '你好', 1, 'a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3]

2、删

2.1、pop()按索引进行删除,有返回值

li = ['a','b',123,'你好',1]
li.pop(1)
print(li)

li = ['a','b',123,'你好',1]
print(li.pop(1))

 输出结果 :

['a', 123, '你好', 1]

2.2、remove()按照元素去删除

li = ['a','b',123,'你好',1]
li.remove('你好')
print(li)

 输出结果 :['a', 'b', 123, 1] 

2.3、clear()清空列表元素

li = ['a','b',123,'你好',1]
li.clear()
print(li)

输出结果 :[] 

2.4、de  l删除 

  1. 按照位置去删除,也可切片删除没有返回值。
    li = ['a','b',123,'你好',1]
    del li[1:3]
    print(li)
    
    li = ['a','b',123,'你好',1]
    del li[1]
    print(li)

    输出结果 :['a', '你好', 1]      ['a', 123, '你好', 1]

  2. 整个列表删除
    li = ['a','b',123,'你好',1]
    del li

     

 3、改

1、按索引来改

li = ['a','b',123,'你好',1]
li[0] = '早'
print(li)

输出结果 :['早', 'b', 123, '你好', 1]

2、按切片来改

li = ['a','b',123,'你好',1]
li[0:3] = 'safsafkf'  # 先删除切片索引元素,再按元素一个一个迭代修改
print(li)

li = ['a','b',123,'你好',1]
li[0:3] = ['a12','wqwqw']  
print(li)

输出结果 :

['s', 'a', 'f', 's', 'a', 'f', 'k', 'f', '你好', 1]
['a12', 'wqwqw', '你好', 1]

其他操作

count(数)(方法统计某个元素在列表中出现的次数)。

1 a = ["q","w","q","r","t","y"]
2 print(a.count("q"))

index(方法用于从列表中找出某个值第一个匹配项的索引位置)

1 a = ["q","w","r","t","y"]
2 print(a.index("r"))

sort (方法用于在原位置对列表进行排序)。

 reverse (方法将列表中的元素反向存放)。

1 a = [2,1,3,4,5]
2 a.sort()# 他没有返回值,所以只能打印a
3 print(a)
4 a.reverse()#他也没有返回值,所以只能打印a
5 print(a)

二、元组:

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

如,元组内元素含有列表等可变元素,(1,2,3,[2, 'aa', 3])元组内的元素不可变,列表内的元素可变

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
     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。

猜你喜欢

转载自blog.csdn.net/qq_41922768/article/details/81978327