元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
a = (2)
b = (2,)
c = ()
print(type(a))
print(type(b))
print(type(c))
注意:需要注意的是,创建只有一个元素的元组时,需要再元素的末尾加一个逗号',',如果不加,会将括号当作运算符处理。
通过下标访问元组中的元素
a=(2,1,3,5,7,4,8,0)
print(a[2])
print(a[-1])
print(a[1:5])
print(a[::-1])
for x in a:
print(x,end=' ')
3
0
(1, 3, 5, 7)
(0, 8, 4, 7, 5, 3, 1, 2)
2 1 3 5 7 4 8 0
注意:元组是可以循环遍历元素的。
修改元组
注意:元组中的元素是不可修改的。但可以修改元组本身的大小,比如连接两个元组
a=(1,2,3)
b=('a','b','c')
print(a+b)
(1, 2, 3, 'a', 'b', 'c')
删除元组
注意:元组中的值是不可修改的,所以就不能进行删除,但是可以删除整个元组。
a = (1,23,4)
del a
print(a)
NameError: name 'a' is not defined
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
a=(1,'a',2)
print(a*2)
(1, 'a', 2, 1, 'a', 2)
元组内置函数
获取元组长度len()
a=(1,2,3,4)
print(len(a))
4
获取元组最大最小值max()、min()
a=(1,2,3,4)
print(max(a),min(a))
4 1
tuple()--将可迭代的对象转换为元组
a = [1,23,4]
b='hello'
print(tuple(a))
print(tuple(b))
(1, 23, 4)
('h', 'e', 'l', 'l', 'o')
总结:元组的元素不可以修改,在元组创建时,里面的元素就已经确定,元组是可以遍历的。虽然元组内的元素不可修改,但当元组中存放的是可变对象时,可以修改对象映射的值,这种修改修改的是元组元素指向的映射的值,并不是修改元组元素。
集合
集合(set)是一个无序不重复元素的序列。
可以使用大括号 { } 或者 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
将列表转换为集合可以去除列表中重复的元素。
a = [11,2,3,4,1,2,4,5]
print(list(set(a)))
[1, 2, 3, 4, 5, 11]
判断元素是否在集合中 in
a = {1,2,3,4,5}
print( 1 in a)
True
说明:好像所有的容器类型数据都可以使用in操作,字典的in操作就是判断key,如果要判断value,必须 in dict.values
集合添加元素
1.add
语法:set.add(value)
a = {2,4,15}
a.add('a')
a.add(45)
print(a)
{2, 4, 45, 15, 'a'}
2.update
参数可以是列表,元组,字典等。语法:set.update(seq)
b = {1,2}
c = [3,4]
d = {'a':1}
b.update(c)
b.update(d)
print(b)
{1, 2, 3, 4, 'a'}
注意:上述例子可以看到,当添加为列表和字典时,并不是将列表和字典添加进去,而是将列表的元素添加到集合,将字典的键key添加进集合。
移除元素
1.remove
语法:set.remove(value):如果元素不存在,会报错
a={1,2,3,4,5}
a.remove(2)
print(a)
{1, 3, 4, 5}
注意:值不存在时报错:KeyError
2.discard
语法:set.discard(value),这种方法元素不存在时不会报错。
a={1,2,3,4,5}
a.discard(12)
a.discard(2)
print(a)
{1, 3, 4, 5}
pop
随机删除一个元素,语法:set.pop()
a={1,2,3,4,5}
a.pop()
print(a)
{2, 3, 4, 5}
思考:在实际使用发现,pop()是从左边往右删
一些常规操作
in 判断元素是否子在集合
a={1,2,3,4,5}
print(2 in a)
True
获取集合长度 len(set)
a={1,2,3,4,5}
print(len(a))
5
清空集合 set.clear()
a={1,2,3,4,5}
print(a.clear())
None