【python学习笔记】list和tuple(元组)

list和tuple


list

python内置的一种数据类型是list.

list是一种有序集合,可以随时添加和删除其中的元素.

比如,列出西安的美食,就可以用list:

>>> food= ['肉夹馍', '臊子面', '秦镇米皮']
>>> food
['肉夹馍', '臊子面', '秦镇米皮']

这个变量food就是一个list.

使用 len() 函数可以获取list元素的个数:

>>> len(food)
3

索引

可以用 索引 来访问 list中的每一个元素,索引从0开始

>>> food[0]
'肉夹馍'
>>> food[1]
'臊子面'
>>> food[2]
'秦镇米皮'
>>> food[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

索引 超过了范围时,会报一个IndexError的错误.

最后一个元素的索引是len(food) - 1.

也可以使用-1直接获取,以此类推也可以使用-2,-3来获取

>>> food[-1]
'秦镇米皮'

修改元素

list是一个可变的有序表,可以使用 append 方法追加元素到末尾:

>>> food.append('肉丸胡辣汤')
>>> food
['肉夹馍', '臊子面', '秦镇米皮', '肉丸胡辣汤']

也可以插入指定位置,使用 insert 方法:

>>> food.insert(1, '甑糕')
>>> food
['肉夹馍', '甑糕', '臊子面', '秦镇米皮', '肉丸胡辣汤']

要删除指定位置的元素,使用 pop(i) 方法,

如果不填i那么默认就是删除最后一个元素.

>>> food.pop(1)
'甑糕'
>>> food
['肉夹馍', '甑糕', '臊子面', '秦镇米皮']
>>> food.pop()
'秦镇米皮'
>>> food
['肉夹馍', '甑糕', '臊子面', '秦镇米皮']

要把某个元素 替换 成另一个元素,可以直接赋值给对应的索引位置:

>>> food[1] = '镜糕'
>>> classmates
['肉夹馍', '镜糕', '臊子面', '秦镇米皮']

list中的元素类型也可以多样,比如:

>>> L = ['Apple', 123, True]

list元素也可以是另外一个list :

>>> food = ['剁椒鱼头', '蛋抱混沌', ['番茄焖面', '可乐鸡翅'], '猪肉白菜饺子']
>>> len(food)
4

如果要拿到 可乐鸡翅 可以用food[2] [0]

如果一个list一个元素都没有,那长度也是0.


tuple(元组)

tuplelist非常相似,但是tuple一旦初始化就不能修改。

>>> food = ('肉末茄子', '菠萝炒饭', '牛腩米粉')

现在,food 这个tuple不能变了,

也因为不能变,所以代码更安全。如果可能尽量使用tuple.

也是这样,当你定义一个tuple,元素就必需被确定下来.

小问题: 如何去定义一个只有一个元素的tuple

这样吗?

>>> math = (1)
>>> math
1

不对,不对,应该是这样:

>>> math = (1,)
>>> math
(1,)

因为括号既可以表示tuple,又可以表示数学中的小括号

所以在定义tuple时需要加一个逗号,,来消除歧义.

一个’可变的tuple(滑稽表情)

>>> food = ('黄焖鸡米饭', '蛤蜊蒸蛋', ['拔丝山药', '菠萝咕咾肉'])
>>> food[2][0] = '糖醋排骨'
>>> food[2][1] = '红烧肉'
>>> food
('黄焖鸡米饭', '蛤蜊蒸蛋', ['糖醋排骨', '红烧肉'])
发布了18 篇原创文章 · 获赞 6 · 访问量 1859

猜你喜欢

转载自blog.csdn.net/qq_43479203/article/details/105128513