一分钟学Python|Python的列表和元组

2020-07-14 15:56:53 浏览数 (2)

list和tuple

首先来一波简单粗暴的对比

1、python中的列表list是变量,而元组tuple是常量。简单地说元组是固定不可改变的,意味着一旦被创建它的内容无法被修改;列表则不同,被创建可根据自己的想法随意改变,同时改变列表的函数方法也有很多。

2、列表:是使用方括号[]

元组:则是使用圆括号()

不过两者都可以使用索引读取值

列表list

代码语言:javascript复制
# 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)

运行结果:

代码语言:javascript复制
[30, 10, 3, 4, 5]

1. 列表中的append()和extend()

代码语言:javascript复制
# 两者都是对列表增加元素的方法,都不支持多参数
# 但是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)

运行结果:

代码语言:javascript复制
[1, 2, 3, 4, 5, [100]]  # append()结果
[1, 2, 3, 4, 5, 100]    # extend()结果

2. 列表中的remove()、pop()和del

代码语言:javascript复制
# 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)

运行结果:

代码语言:javascript复制
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. 创建元组

代码语言:javascript复制
my_tup = ()
my_tup = (100) # 不可,切记单元素创建元组这样写会被理解成int类型
my_tup = (100,)

运行输出结果可知:

代码语言:javascript复制
() <class 'tuple'>
100 <class 'int'>
(100,) <class 'tuple'>

2. “修改”元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合 -- “创建了一个新的元组”

代码语言:javascript复制
my_tup = [1,2,3]
my_tup2 = ['a','b','c']

my_tup3 = my_tup   my_tup2
print(my_tup3)   

运行结果:

代码语言:javascript复制
[1, 2, 3, 'a', 'b', 'c']

3. “删除”元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

代码语言:javascript复制
my_tup = [1, 2, 3, 'a', 'b', 'c']

print(my_tup)
del my_tup
print("del操作后的my_tup:", my_tup)

运行结果:

代码语言:javascript复制
[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

ps:如果你需要看更详细的内容,可以阅读我写的这篇文章原创| 你可能真的不太了解列表和元组

代码语言:javascript复制
我是kuls欢迎加我微信交流学习阅读更多精彩文章,可以关注我!

0 人点赞