码迷,mamicode.com
首页 > 其他好文 > 详细

集合(字典)

时间:2018-02-21 23:34:37      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:lan   测试   主键   程序   post   就是   差值   布尔   告诉   

# 集合就是字典,数据类型都是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)

集合(字典)

标签:lan   测试   主键   程序   post   就是   差值   布尔   告诉   

原文地址:https://www.cnblogs.com/jensenxie/p/8457746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!