元组 tuple[tʌpl]
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号
元组中的元素值是不允许修改的,但是我们可以对元组进行连接组合
tup1 = (12,34,'abc')
tup2 = ('abc',12,34)
tup3 = tup1 + tup2
print(tup3)
结果如下:
(12, 34, 'abc', 'abc', 12, 34)
只有一个元素的元组要加逗号
tuple1 = (abc,)
不加小括号用逗号隔开也可以表示一个元组
补充:特殊的获取方式 变量1,变量2 = 元组
变量的个数必须与元组内元素的个数相同
元组中的元素是不可以删除的,但是我们可以通过使用del语句来删除整个元组
tup1 = (12,34,'abc')
print(tup1)
del tup1
print(tup1)
结果如下:
Traceback (most recent call last):
File "D:/Python1809/day07/day-06.py", line 31, in
print(tup1)
NameError: name 'tup1' is not defined
name, *scores = ('小明',95,90,94,98)
print(name,scores)
结果如下:
小明 [95, 90, 94, 98]
元组运算符
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): | print (x,) | 1 2 3 |
元组的索引和截取与列表相同
元组内置函数
len()
max()
min()
tuple(seq):将序列转换为元组
sorted()
list1 = [123, 'abc', [1, 2, 'a'], (1, 2)]
tuple1 = tuple(list1)
print(tuple1)
结果如下:
(123, 'abc', [1, 2, 'a'], (1, 2))
字典
字典是另一种可变容器模型,且可存储任意类型对象
语法:
字典的每个键值{ key1 : value1, key2 : value2 }
key必须是唯一的,但是value不必
值可以取任何数据类型,单key必须是不可变的
dict1 = {'abc' : 123, 98.6 : 37}
字典的访问
通过key对value进行访问
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,因为列表是可变的