本文作者:林箖霖😉
本文原创,未经允许,禁止转载!
8. Python中的元组
-
元组是Python内置的数据结构之一,是一个不可变序列
-
元组是元素不可变、元素可重复、元素有序排列的数据结构(不可以进行增、删、改)
-
将元组设计成不可变序列的好处:在多任务环境下,同时操作对象时不需要加锁
-
元组中存储的是对象的应用,如果元组中对象本身不可变,则不能在引用其他对象;如果元组中的对象可变,则可变对象的引用不允许改变,但是数据可以改变
# 元组是不可变序列
A1 = (10, [10, 20], 30)
# A1[1]=10 # TypeError: 'tuple' object does not support item assignment
# 但是可以修改列表[10,20]
A1[1].append(101)
print(A1) # (10, [10, 20, 101], 30)
8.1 元组的创建
- 使用 ( )
# 使用()
A = ('Python', 10, 'Hello', 'Wordl')
print(A, type(A)) # ('Python', 10, 'Hello', 'Wordl') <class 'tuple'>
# ()也可以省略
C = 'Hello', 'Worle', 100
print(C, type(C)) # ('Hello', 'Worle', 100) <class 'tuple'>
# 当元组中只有一个元素的时候,要在该元素后面添加逗号
D = ('Hello',)
F = 'HELLO',
E = ('World')
print(D, type(D)) # ('Hello',) <class 'tuple'>
print(E, type(E)) # World <class 'str'>
print(F, type(F)) # ('HELLO',) <class 'tuple'>
# 空元组
G = ()
H = tuple()
- 使用内置函数tuple ( )
# 使用内置函数tuple()
B = tuple(('Hello', 'World', 100))
print(B, type(B)) # ('Hello', 'World', 100) <class 'tuple'>
8.2 元组的遍历
- 使用for…in…
# 元组的遍历
B1 = ('Hello', 'World', 10)
for i in B1:
print(i) # Hello World 10
- 使用索引
# 元组的遍历
C1 = (10, 20, 30)
print(C1[1]) # 20
9. Python中的集合
- 集合是Python提供的内置数据结构
- 集合是元素可变、元素不可重复、元素无序排列的数据结构(可以进行增、删、改)
- 集合是没有value的字典
- 集合定义和字典类似,也使用 { }
9.1 集合的创建
- 使用 { }
# 使用 { }
A = {1, 2, 'Hello'}
# 体现集合是无序序列
print(A, type(A)) # {1, 2, 'Hello'} <class 'set'>
- 使用内置函数set ( )
# 内置函数set()
B = set({1, 'Hello'})
print(B, type(B)) # {1, 'Hello'} <class 'set'>
C = set(range(5))
print(C, type(C)) # {0, 1, 2, 3, 4} <class 'set'>
D = set([1, 2, 3, 4])
print(D, type(D)) # {1, 2, 3, 4} <class 'set'>
E = set(('hello', 20))
print(E, type(E)) # {'hello', 20} <class 'set'>
F = set('Python')
print(F, type(F)) # {'y', 'o', 'P', 'n', 'h', 't'} <class 'set'>
# 空集合
G1 = {} # 这个是定义空字典
G = set()
print(G, type(G)) # set() <class 'set'>
- 使用集合生成式
# 集合生成式
A = {i * i for i in range(1, 10)}
print(A) # 无序排序 {64, 1, 4, 36, 9, 16, 49, 81, 25}