list和tuple
首先来一波简单粗暴的对比
:
1、python中的列表list是变量,而元组tuple是常量。简单地说元组是固定不可改变的,意味着一旦被创建它的内容无法被修改;列表则不同,被创建可根据自己的想法随意改变,同时改变列表的函数方法也有很多。
2、列表:是使用方括号[]
元组:则是使用圆括号()
不过两者都可以使用索引读取值
列表list
# 1、根据索引修改 my_list = [1,2,3,4,5] my_list[1] = 10 my_list[0] = my_list[1] * my_list[2] # 10乘以3 print(my_list)
运行结果:
[30, 10, 3, 4, 5]
1. 列表中的append()和extend()
# 两者都是对列表增加元素的方法,都不支持多参数 # 但是append()向列表中添加一个作为整体的对象,extend()是把一个可迭代对象的内容迭代添加到列表中 my_list = [1,2,3,4,5] my_list2 = [1,2,3,4,5] temp = [100] my_list.append(temp) my_list2.extend(temp) # temp是一个单元素列表,是一个可迭代对象,迭代出10添加 print(my_list) print(my_list2) 运行结果: [1, 2, 3, 4, 5, [100]] # append()结果 [1, 2, 3, 4, 5, 100] # extend()结果
2. 列表中的remove()、pop()和del
# remove:删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 # pop:删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值 # del:简单粗暴,可传索引值参数删除符合条件的元素,也可不接参数整个删除 my_list = [1,2,3,2,4,5] my_list2 = [1,2,3,2,4,5] my_list3 = [1,2,3,2,4,5] print(my_list.remove(2)) # 删除第一个2 print(my_list) print(my_list2.pop(2)) # 删除索引值为2的元素3 print(my_list2.pop()) # 删除最后一个元素5 del my_list3[2] print(my_list3) del my_list3[0:2] print(my_list3) del my_list3 print(my_list3) 运行结果: None [1, 3, 2, 4, 5] 3 5 [1, 2, 2, 4, 5] [2, 4, 5] Traceback (most recent call last): File "D:/study_test/python_study/t1.py", line 19, in <module> print(my_list3) NameError: name 'my_list3' is not defined
元组tuple
1. 创建元组
my_tup = () my_tup = (100) # 不可,切记单元素创建元组这样写会被理解成int类型 my_tup = (100,) 运行输出结果可知: () <class 'tuple'> 100 <class 'int'> (100,) <class 'tuple'>
2. “修改”元组
元组中的元素值是不允许修改
的,但我们可以对元组进行连接组合 -- “创建了一个新的元组”
my_tup = [1,2,3] my_tup2 = ['a','b','c'] my_tup3 = my_tup + my_tup2 print(my_tup3)
运行结果:
[1, 2, 3, 'a', 'b', 'c']
3. “删除”元组
元组中的元素值是不允许删除
的,但我们可以使用del语句来删除整个元组
my_tup = [1, 2, 3, 'a', 'b', 'c'] print(my_tup) del my_tup print("del操作后的my_tup:", my_tup) 运行结果: [1, 2, 3, 'a', 'b', 'c'] Traceback (most recent call last): File "D:/study_test/python_study/t1.py", line 5, in <module> print("del操作后的my_tup:", my_tup) NameError: name 'my_tup' is not defined