Python入门-第四章-组合数据类型(2.元组,集合)

4.3    元组

元组:包含在圆括号"( )"中,以逗号为分隔的元素,其中元素的个数,类型不受限制。

例:

x=()
y=(1,)
z=(2,'小红')
i=(3,(2))
print(x,y,z,i)

运行后:

() (1,) (2, '小红') (3, 2)

注:如果元组中只有一个元素,则该元素后的逗号“,”,不能省略。

内置函数tuple( )也可以创建元组。

例:

x=tuple()
y=tuple([1,2,'小红'])
z=tuple('happy')
i=tuple(range(6))
print(x)
print(y)
print(z)
print(i)

运行后:

()
(1, 2, '小红')
('h', 'a', 'p', 'p', 'y')
(0, 1, 2, 3, 4, 5)

列表相同,Python支持通过索引和切片的方式访问元素,也支持循环遍历。

例:

x=tuple()
y=tuple([1,2,'小红'])
z=tuple('happy')
print(y[2])
print(y[0:2])
print(z)
for i in y:
    print(i,',',end='')

运行后:

小红
(1, 2)
('h', 'a', 'p', 'p', 'y')
1 ,2 ,小红 ,

注:元组不可变类型,元组中的元素不能修改,即:它不支持添加,删除,和排序操作!

4.4    集合

Python中的集合是一个可变类型,但Python中要求放入集合中的元素必须是不可变类型的。

注:集合类型 里的 元素无序且唯一。

1.创建集合

集合由元素包含在大括号“{ }”中,并用逗号分隔开,类似列表和元组。

例:

x={2}
y={2,'小绿',(5,9)}
print(x)
print(y)

运行后:

{2}
{'小绿', 2, (5, 9)}

注:使用set( )函数可以创建一个空的集合,但是{ }不能用于创建空集合,{ }创建的是一个空字典,

空集合只能由set( )函数创建。

s=set()

如果我们使用set( )函数创建一个非空集合,则需要set( )函数传入如可迭代对象。

x=set([7,8,9])      #set()函数传入列表
y=set((5,9))        #set()函数传入元组
z=set('happy')      #set()函数传入字符串
i=set(range(7))     #set()函数传入整数列表
print(x)
print(y)
print(z)
print(i)

运行后:

{8, 9, 7}
{9, 5}
{'p', 'y', 'a', 'h'}
{0, 1, 2, 3, 4, 5, 6}

2.集合的常见操作

add(X)          #向集合中添加X元素,如果X存在则不做处理
remove(X)       #向集合中删除X元素,如果X元素不存在则抛出KeyError异常
discard(X)      #向集合中删除X元素,如果X元素不存在则不做处理
pop(X)          #随机返回集合中的元素,并删除它,如果集合为空则抛出KeyError异常
clear(X)        #清空集合
copy(X)         #复制集合
isdisjoint(N)   #判断集合是否与N集合有相同元素,如果有则返回False,没有则返回True

例:

x={1,2,3,4,5,6}
y={'h','a','p','p','y',5,7,2,1}
z={'happy'}
list_1=x.add('kkk')
list_2=y.remove('p')
list_3=x.discard(4)
list_4=y.pop()
list_5=z.clear()
list_6=x.copy()
list_7=x.isdisjoint(y)
print('list_1:',list_1)
print('list_2:',list_2)
print('list_3:',list_3)
print('list_4:',list_4)
print('list_5:',list_5)
print('list_6:',list_6)
print('list_7:',list_7)
print('x:',x)
print('y:',y)
print('z:',z)

运行后:

list_1: None
list_2: None
list_3: None
list_4: y
list_5: None
list_6: {1, 2, 3, 5, 6, 'kkk'}
list_7: False
x: {1, 2, 3, 5, 6, 'kkk'}
y: {2, 1, 5, 7, 'a', 'h'}
z: set()

3.集合推导式

集合推导式与列表的推导式相似,区别就在于集合的外层为大括号“{ }”。

语法如下:

{exp for x in set if cond}
#exp为运算表达式
#set为集合
#cond为if语句后的条件语句

例:

x={1,2,3,4,5,6,7,8,9}
y={i*i for i in x if i>5}
print(y)

运行后:

{64, 49, 36, 81}

由于集合和列表推导式相似度较高,感兴趣的铁铁可以查看主页的列表部分,这里将不做重复。

铁铁们,下一期我们将进入到字典的学习,喜欢的铁铁可以点点关注点点赞,点点转发,感谢各位观众老爷。


版权声明:本文为m0_61609324原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。