python学习day5/上午

#把a=[1,2,3,4,5,6,7,8,9,10],写成a=[2, 1, 4, 3, 6, 5, 8, 7, 10, 9]输出

#老师的方法

python学习day5/上午

 

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)

上一篇:如何将深层嵌套列表转换为字符串


下一篇:leetcode 2127. 参加会议的最多员工数