列表与元组的基本操作

列表介绍:

  在代码中以'[ ]' 表示的是列表,可以存放任何的数据类型每个元素通过‘,’进行分隔

列表具有与字符串一样的索引和切片的功能

  

列表的增删改查

  1.增 (append,insert,extend)

  语法1:列表1.append(元素)  >>>直接将元素添加列表的尾端

  语法2:列表1.insert(索引位置,要插入的元素)>>>将要插入的元素放在索引的位置上,原来的在该索引位置上的元素且在该索引后面的元素全部往后移动一个位置

  语法3:列表1.extend('可迭代的对象)  可迭代对象可以包括,字符串,元素,列表,字典等。在添加的时候,将可迭代对象里面的每一个元素一个个拿出来添加到列表1中

  2.删(pop,remove,clear,del)

  语法1:列表1.pop() >>> 在默认的情况下,每次执行命令都会将该列表的最后一个元素进行删除,并将删除的元素返回,也可以通过索引指定删除哪个元素eg: list1.pop(1)

  语法2:列表1.remove('直接要删除的元素')  每次只能删除一次最先匹配到的元素,如果要删除列表中重复的元素的话,只能重复执行该命令

  语法3: 列表1.clear()  直接清空列表中的所有元素

  语法4:del  列表1[::]   根据索引或者切片将获取到的内容删除

  3.改 直接根据索引对列表的元素进行修改

list2 = ['猪肚鸡','纸包鱼','豆腐花','麻辣香锅','清蒸大虾','胡椒煮猪肚']
list2[0] = '鱼香茄子'  #将索引位置为0  的元素更改为鱼香茄子
print(list2)
list2[1:3] = ['麻辣烫']   #迭代修改,将切片找到的内容删除后,
## 在对应开始的位置中从右边的可迭代对象每个元素添加到里面,注意数字不是可迭代对象
print(list2)
#注意:如果切片的步长不是1的话,切片之后取出多少个元素,就要使用对应多少个元素进行一一替换
list2[::2] = ['a','b','c']
print(list2)
#结果如下:

  4.查询,一般通过for 循环的方式遍历整个列表

#方法1 直接遍历
for i in list2:
    print(i)
#方法2 遍历的时候,同时打印索引位置
for i in range(len(list2)):
    print(i,list2[i])

列表的其他功能:sort,reverse,count,index.join

#语法:list3.sort(key=None,reverse = False)
list3 = [3,7,9,31,1,2,3]
list3.sort()   #元素按照升序进行排序 如果reverse = Ture 的话,那么排序就是按照降序的方式进行排序
print(list3)
#如果key不可空的话 可以是一个式子如
list3.sort(key=lambda x:-x ) #直接将所有的元素以实参的形式传递到式子中,在按照升序进行排序
print(list3)

结果:

# 语法:list3.count('要计算的元素')
list3 = [3,7,9,31,1,3,6]
a = list3.count(3)
print(a)
#语法:list3.reverse()  直接对整个列表的元素进行翻转
list3.reverse()
print(list3)

结果:

join 将列表中的字符串元素拼接成新的字符串

list1= ['a','b']
a = '_'.join(list1)
print(a)#结果是a_b

关于元组tuple():

  在代码中由() 进行表示,但是在创建的时候如果是一个元素的话,记得子该元素后面添加一个逗号,否则()会被认为是运算符中的一部分  eg:(3+5)*3

  元组与str 和int 的数据类型都是不可变类型,

元组在创建之后的,所有在元组的第一层内存地址都是不可变的

由于元组是不可变的,相当于只有只读功能的列表,所有,元组除了没有增删改的功能之外,其余列表具有的功能,元组同样具有

    

原文地址:https://www.cnblogs.com/vivi0403/p/9830166.html