集合(字典)

Posted 森森2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合(字典)相关的知识,希望对你有一定的参考价值。

# 集合就是字典,数据类型都是set,是通过set来创建
# 两个功能:1去重 2关系测试 3无序

s=set([1,3,"hello"])
s2={1,2,3}

print(type(s))
print(type(s2))
print(s2)

# 去重
l=[1,2,2,34,56]
print(set(l))

# set是可变数据类型
# print({{1,2}:"hello"}) # 运行时报错
# print({[1,2]:"hello"}) # 运行时报错

# set集合一定是不可变数据类型
# ll={1,2,2,[3,4.5]} # 报错,因为列表是可变数据类型
po={1,2,3,4,5,6}

# 关系测试
s1={"hello","1",2,3,}
s2={1,2,("a","b")} # 元组是不可变数据类型

# 求并集
s1.union(s2)
print(s1)
print(s1.union(s2))
print(s1|s2) #也可以这样求并集

# 求交集
print(s1.intersection(s2))
s1&s2 #也可以这样求交集

# 差集
print(s1.difference(s2))
print(s1-s2)

# 对称差值
print(s1.symmetric_difference(s2))
print(s1^s2)

-----------------------------------------------------------------
# python中唯一具有映射关系的数据类型:字典的查询效率高于列表
d={"name":"alex"} # name是唯一的
d={"name":"alex","name":"xie"} # 这样不报错,但xie会覆盖alex
#d={[1,2,3]:"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
#d={{}:"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
d={"1":"yang","name":"egon"} # 主键唯一且不可变数据类型,例如字典、列表就可变,[]报错
# "egon"不限什么类型,什么内容都行
print(d["name"])
v=d.get("name",None) #如果取不到,将用none代替
print(v)
print(type(None))

# 布尔值:非0都是true,验证
print(bool(-1))
print(bool([])) # 空内容为flase
print(bool([1,])) # 如果里面只有1个数时,一定要用“,”结尾,否则告诉程序这个是列表,元组也是,否则后面会导致一些错误
print(bool(None)) # None为flase


# print(d["name"]) #如果没值就会系统报错

v=d.get("nameddd",None)
print(v)

if not v: # 如果v=None
print("blank")
pass

# 遍历for循环
for i in "hello":
print(i)

以上是关于集合(字典)的主要内容,如果未能解决你的问题,请参考以下文章

laravel特殊功能代码片段集合

Python snippet(代码片段)

Python代码阅读(第19篇):合并多个字典

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第40篇):通过两个列表生成字典

Python字典集合结构详解