集合和三元运算符
一、三元运算符
如下判断可以使用三元运算更方便的实现:
a = 1
b = 2
if a > 1:
c = a
else:
c = b
和下面是一样的:
a = 1
b = 2
#下面这个
c = a if a>1 else b
如下两种方法也是一样的:
方式一:
s=[]
nums = list(range(1,11))
for i in nums:
if i%2==0:
s.append(i)
print(s)
方式二:
ss = [i for i in nums if i%2==0]
print(ss)
#这两种是一样的
二、集合
#集合也是一种数据类型,一个类似列表东西,
# 它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
1.集合的定义:
nums = [1,1,1,1,23,4,56]
num_set = set(nums)
#通过强制类型转换,来定义集合
num_set1 = {1,2,3,4,5,6}
2.集合中常用的操作
list1 = {1, 2, 3, 4, 5, 6, 9}
list2 = {2, 3, 4, 6, 1}
list3 = {1, 2, 3}
# print(list1.intersection(list2))
# 取交集,也就是取list1和list2中都有的
# print(list1 & list2)# 取交集
# print(list1.union(list2)) # 取并集,也就是把list1和list2合并了,然后去除重复的
# print(list1 | list2)# 取并集
# print(list1.difference(list2)) #取差集 在list中存在,在list2中没有的
# print(list1 - list2)
# print(list3.issubset(list1))#判断list3是不是list1的子集
# print(list1.issuperset(list3))#判断list1是不是list3的父集
# print(list1.isdisjoint(list3))#判断list1和list3是否有交集
# print(list1.symmetric_difference(list2))
# #对称差集,输出两个列表中都没有的值,也就是把两个集合中相同的去掉
# print(list1 ^ list2)
list1.add(888)#添加元素
list1.update([777,666,666])
list1.remove(777)#删除元素,如果元素不存在会报错
list1.pop()#删除一个随机的元素,并返回删除的元素
list1.discard('dddd')#如果删除的元素存在,删除,不存在不做处理