栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习7

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习7

元组

python的内置数据结构之一,是一个不可变序列,字符串也是不可变序列

创建元组时,使用(),()可以省略,或者使用内置函数tuple()。要注意元组中只有一个元素时,要在该元素之后加上一个逗号。

创建空元组时,使用()或tuple()

#使用()创建元组
test=('yes','no','you','me')
#使用内置函数tuple()
test=tuple(('yes','me'))
#简易方式
test='yes','as','no'
#元组中只有一个元素时
test=('yes',)
test='yes',
test=tuple(('yes',))
#创建空元组
test=()
test=tuple()

注意,元组中存储的是对象的引用,只能保证元组这一层不能修改。例如,当一个元组中存储了一个列表时,不能将元组中存储的列表修改为别的列表或者数字,但可以对存储的列表进行修改,例如删除这个列表中的某个元素。

可以使用for-in对元组进行遍历

test=('yes','no','you','me')
#两种For-in方法
for item in test:
    print(item)
for i in range(len(test)):
    print(test[i])
集合

也是一种python内置数据结构,是一种可变类型的序列

集合是没有value的字典

创建集合有两种方法:{}和set()

#集合中的元素不允许重复
test={'a','b','c','a'}
#得到的是{'c', 'b', 'a'},重复的元素被去掉了
print(test)
#使用set()方法
#得到{0, 1, 2}
test=set(range(3))
#得到{1, 2, 3}
test=set([1,2,3,1])
#得到{2, 3, 4}
test=set((2,3,4,2))
#得到{'t', 'n', 'p', 'y', 'o', 'h'}
test=set('python')
#得到{1, 2, 3, 4}
test=set({1,2,3,4,1})
#定义空集合
test=set()
集合的相关操作 检测相关元素是否在集合之中

使用in和not in

新增

有两种方法——add和update方法

add()方法一次增加一个元素

update()方法一次增加至少一个元素

s={1,2,3}
#得到{80, 1, 2, 3}
s.add(80)
#得到{1, 2, 3, 80, 20, 30}
s.update([20,30])
#得到{1, 2, 3, 5, 10, 80, 20, 30}
s.update({10,5})
#得到{1, 2, 3, 5, 7, 10, 80, 20, 30}
s.update((7,))
删除

remove()方法:一次删除一个指定元素,不存在则抛出KeyError

discard()方法:一次删除一个指定元素,不存在不报错

pop()方法:删除集合中第一个元素,并且返回这个元素

clear()方法:清空集合

集合间的关系

相等,子集,超集,交集

相等可以使用==和!=来判断

子集可以使用issubset来判断

超集(即A是B的子集,那B是A的超集)可以用issuperset来判断

交集可以用isdisjoint来判断是否没有交集

s1={1,2,3,4}
s2={2,3,5,6}
s3={1,2}
s4={3,4}
#判断是否相等
#输出False
print(s1==s2)
#判断是否为子集
print(s3.issubset(s1))#输出TRUE
print(s3.issubset(s2))#输出False
#判断是否为超集
print(s1.issuperset(s3))#输出TRUE
print(s1.issuperset(s2))#输出False
#判断是否没有交集
print(s3.isdisjoint(s4))#输出TRUE
print(s3.isdisjoint(s1))#输出False
集合的数学操作

交集:intersection()函数和&

并集:union()和|

差集:difference()方法和-

对称差集:symmetric_difference()方法和^

s1={1,2,3,4}
s2={2,3,5,6}
s3={1,2}
s4={3,4}
#求交集
#两种方法均输出{2, 3}
print(s1.intersection(s2))
print(s1 & s2)
#求并集
#两种方法均输出{1, 2, 3, 4, 5, 6}
print(s1.union(s2))
print(s1 | s2)
#求差集
#两种方法均得到{1, 4}
print(s1.difference(s2))
print(s1-s2)
#求对称差集
#两种方法均得到{1, 4, 5, 6}
print(s1.symmetric_difference(s2))
print(s1^s2)
集合生成式

类似列表生成式,将[]换为{}就可以了

#得到{0, 1, 4}
print({i**2 for i in range(3)})

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754773.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号