python语法笔记----range();循环:while,for in;break,continue;dic,set

range()
list=range(100) #生成从0开始小于100的整数
print(list)

range(0, 100)

循环:
for…in循环,依次把list或tuple中的每个元素迭代出来
while循环,只要条件满足,就不断循环,条件不满足时退出循环

#求0+到100的和
for in
tuple=(range(101))
s=0
for x in tuple:
s=s+x
print(s)

5050

while
s=0
n=0
while n<101 :
s=s+n
n=n+1
print(s)

5050

break:提前结束循环,continue:结束本次循环,提前进入下次循环

dic,set
dic:字典,每个key对应一个value,value可变,key不可变;
占用空间大,查找速度快

d = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85}
print (d[‘Michael’])

95

d[‘Michael’]=80 #给dic中的key赋值

判断key是否在dic中
print(‘Thomas’ in d)

False

通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value

d.get(‘Thomas’) #判断Thomas是否是d中的key
d.get(‘Thomas’,10) #在d中添加Thomas,并赋值为10

set:集合,自动过滤重复元素
add()添加元素,remove(key)删除元素,
s={0,1,2,3}
s.add(4)
print(s)

{0,1,2,3,4}

集合运算, print中表达方式效果相同
list_1 = set([1, 4, 5, 7, 3, 6, 7, 9])
list_2 = set([2, 6, 0, 66, 22, 8, 4])
list_3 = set([1,3,7])

求交集intersection
print(list_1.intersection(list_2))
print(list_1 & list_2)

判断是否是子集issubset-前小后大;issuperset-前大后小
print(list_3.issubset(list_1))
print(list_1.issuperset(list_3)

求并集union
print(list_1.union(list_2))
print(list_1 | list_2)

差集difference
print(list_1.difference(list_2))
print(list_1 - list_2)

对称差集symmetric_difference:集合A与集合B的对称差集定义为集合A与集合B中所有不属于A∩B的元素的集合
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)

判断是否有交集:isdisjoint
list_4 = set([100])
print(list_1.isdisjoint(list_4))

猜你喜欢

转载自blog.csdn.net/qq_43280644/article/details/87900971