#把a=[1,2,3,4,5,6,7,8,9,10],写成a=[2, 1, 4, 3, 6, 5, 8, 7, 10, 9]输出
#老师的方法
a=[1,2,3,4,5,6,7,8,9,10]
for i in range(0,len(a)-1,2): #奇数-1,偶数不减去1,通用-1
a[i],a[i+1]=a[i+1],a[i]
print(a)
集合
集合是无序的,不重复的数据组合,
a=[1,2,3,3,3,3,3]
b=set(a)
print(b) #{1, 2, 3}
print(type(b)) #<class 'set'>
a=(1,2,3,2,32,5,6)
b=set(a)
print(b) #{32, 1, 2, 3, 5, 6}
print(type(b)) #<class 'set'>
a="122efdssdas231"
b=set(a)
print(type(b)) #<class 'set'>
print(b) #{'s', 'd', 'e', 'a', '2', '3', 'f', '1'}
a={"name":"张三","age":10}
a=set(a)
print(a) #{'age', 'name'}
a={1,2,3,4,3,3,} #这个
print(a) #{1, 2, 3, 4}
print(type(a)) #<class 'set'>
a={}
print(type({})) #<class 'dict'>
a={1,3,4} #是集合类型
for d in a:
print(d)
for s in "asd": #字符串也是集合
print(s)
a=set(1,2,3)
print(a) #会报错 TypeError: set expected at most 1 arguments, got 3
a=set((1,2,3))
print(a) #把元组设置为集合{1, 2, 3}
a=set("123")
print(a) #结果为{'1', '3', '2'}
a={1,2,3}
a.add("asd")
print(a) #结果为{1, 2, 3, 'asd'}
a={1,2,3}
a.update("asd") #传输的数据认为是集合
print(a) #结果为{1, 2, 3, 'd', 's', 'a'}
**删除**
a={"x","y","z"}
print(a.pop()) #随机删除一个元素
a={0,2,1,2,3}
a.remove(2)
print(a) #删除完成不会报错
a.remove(4)
print(a) #找不到删除值值会报错KeyError: 4
a.discard(0)
print(a) #删除完成后不会报错
a.discard(4)
print(a) #没找到删除的元素也不会报错
union()的使用,求并集
a={1,2,3}
b={4,5,6}
c=a.union(b)
print(a) #{1, 2, 3}
print(b) #{4, 5, 6}
print(c) #{1, 2, 3, 4, 5, 6} a,b的值都未被修改a.union(b)的返回值是重新联合的数
intersection()求交集
a={1,2,3}
b={3,4,5}
c=a.intersection(b)
print(c)
difference()的用法
a={1,2,3}
b={4,5,6,1,2}
c=a.difference(b) #{3} a有b没有的
print(c)
c=b.difference(a) #{4, 5, 6} b有a没有的
print(c)
symmetric_difference(b) ,a,b合并减去相交部分
a={1,2,3}
b={4,5,6,1,2}
c=a.symmetric_difference(b)
print(c) #{3, 4, 5, 6}
查看超集,与子集
a={1,2,3}
b={4,5,6,1,2}
c={1,2,3,4}
print(a.issuperset(c)) #False a不是c的父集
print(c.issuperset(a)) #True c是a的父集
print(a.issubset(c)) #True a是c的子集
print(c.issubset(a)) #False c不是a的子集
#isdisjoint(c)的用法,不存在交集返回True,存在交集返回False
a={1,2,3}
b={4,5,6,1,2}
c={3}
print(b.isdisjoint(c)) #True
print(a.isdisjoint(b)) #False
#减号与difference相似
a={1,2,3}
b={4,5,6,1,2}
c=a-b
print(c) #{3}
c=b-a
print(c) #{3}
# | 与union()的意思相同
c=a|b
print(c) #{1, 2, 3, 4, 5, 6}
# & 与intersection()的意思相同
c=a&b
print(c) #{1, 2}
#in, 与not in的用法
a={1,2,3}
b={4,5,6,1,2}
c={3}
print(3 in a) #True
print(c in a) #False
print(4 not in a)#True
a={1,2,3}
b={1,2,3}
print(a==b)