Python基础:集合

#把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]
i=
0
while i<len(a)-1:
    t=a[i]
    a[i]=a[i+
1]
    a[i+
1]=t
    i+=
2
print(a)

# for i in range(0,len(a)-1,2):#len(a)-1因为如果不-1,长度为奇数时a[i+1]会报错

#     a[i],a[i+1]=a[i+1],a[i]

# print(a)

 

 

 

 

#输入任何一个字符串,用单层循环输出如下格式:a="123456abc"

# 输出为:

# 1

# 23

# 456

# abc
a=input("输入:")

i=0

count=0

hang=1

while i<len(a):

    if count<hang:

        print(a[i],end=" ")

        i+=1

        count+=1

    else:

        print()

        count=0

        hang+=1
# a=input("输入:")

# count=0

# hang=1

# for i in range(len(a)):

#     if count>=hang:

#         print()

#         count=0

#         hang+=1

#     print(a[i], end=" ")

#     count += 1
 

 

 

 

 

#将列表输出为“1出现了几次,二出现了几次。。。。。。”

a=[1,2,3,4,3,2,1,2,3,4,3,2,1,2,2,2,"a"]

for i in set(a):

    print(i,"出现了",a.count(i),"次")

 

 

#集合:集合是无序的
a=[1,2,3,4,3,2,2,3,1]
b=
set(a)
print(b,type(b))
c=(
1,2,3,2,1)
d=
set(c)
print(d)
e=
"ab23123ab"
f=set(e)
print(f)
g={
"name":"张三","age":18,"name":"李四","age":20}
h=
set(g)
print(h)
a={
1,2,3,2,1,2,3}
print(a,type(a))
b={}

print(b,type(b))

 

 

 

 

a={1,2,4}

for i in a:

    print(i)

 

 

 

a=set((1,2,3,4,5,4,3,2,1))

print(a)

a=set("123")

print(a)

 

 

 

 

a={1,2,3}

a.add("abc")#add增加的是一个元素

print(a)

a={1,2,3}

a.update("abc")#update增加的是集合

print(a)

 

 

 

 

a={1,2,3,4,5,6}

b=a.pop()#pop随机删除一个并返回一个元素

print(b)

print(a)

a.remove(2)#只删除不返回

print(a)

a={1,2,3,4,5,6}
b=a.remove(2)

print(b)

a.discard(3)#只删除不返回

print(a)

b=a.discard(3)

print(b)

a={1,2,3,4,5,6}
a.remove(7)#remove不存在的值时会报错

print(a)

a={1,2,3,4,5,6}
a.discard(7)#discard不存在的值时不会报错

print(a)

 

 

 

 

a={1,2,3}

b={4,5,6,1,2}

c=a.union(b)

print(a)

print(b)

print(c)

print(a.union(b))

print(a.intersection(b))#intersection:取交集

print(a.difference(b))#a中不同于b的

print(b.difference(a))#b中不同于a的

print(a.symmetric_difference(b))#a不同于b的和b不同于a的

 

 

 

 

a={1,2,3}

b={4,5,6,1,2}

c={1,2,3,4,5}

print(c.issuperset(a))#c是a的超集(父集)

print(c.issuperset(b))#c不是b的超集(父集)

print(a.issubset(c))#a是c的子集

print(b.issubset(c))#b不是c的子集

 

 

 

a={1,2,3}

b={4,5,6,1,2}

c={3}

print(a.isdisjoint(c))#判断是否不存在交集,若存在则返回false

print(b.isdisjoint(c))#若不存在交集,则返回true

c=b-a#相当于c=b.difference(a)

print(c)

d=a-b

print(d)

e=b|a#相当于union(并集)

print(e)

f=a&b#交集

print(f)

print(3 in a)

print(4 not in a)

print(c in a)

 

 

 

a={1,2,3}

b={1,2,3}

print(a==b)

print(a!=b)

 

 

 

 

a=[i for i in range(20)]

print(a)

b={i for i in range(20)}

print(b)

c=[i for i in range(2,20,2)]

print(c)

d=[i for i in range(20) if i%2==0]

print(d)

 

 

 

 

a=[i for i in range(200,501,1) if i%5==0 or i%7==0]

print(a)

b=[i for i in range(200,501,1) if i%5==0 and i%7==0]

print(b)

 

 

 

 

a=[[1,2,3],[4,5,6],[7,8,9]]

b=[a[i][1] for i in range(len(a))]

print(b)

c=[a[i][j] for i in range(len(a)) for j in range(len(a[i]))]

print(c)

d=[a[i][2] for i in range(len(a))]

print(d)

e=[a[i][i] for i in range(len(a))]

print(e)

f=[a[i][(len(a))-1-i] for i in range(len(a))]

print(f)

 

 

 

a=[[3*j+1+i for i in range(3)] for j in range(3)]

print(a)

 

 

 

a={1:20,3:40,5:60}

b={v:k for k,v in a.items()}

print(b)

 

 

 

a={"a":30,"b":4,"A":20,"B":22,"c":21}

b={k.lower():(a.get(k.lower(),0)+a.get(k.upper(),0)) for k in a.keys()}

print(b)

 

 

 

a="123"

for d in a:

    print(d)

 

 

 

a=["张三",1,2,(3,4)]

for i in a:

    print(i)

 

 

 

for i in range(2,7,2):

    print(i)

 

 

 

a="abcdef"

for xb,z in enumerate(a):#枚举,输出每个元素的下标和值

    print(xb,z)

 

 

 

a={"name":"张三","age":18,"addr":"北京"}

for x in a:#默认为输出键值

    print(x)

print()

print()
# for x in a.keys():

#     print(x)

# print()

# for v in a.values():

#     print(v)

# print()

# for k,v in a.items():

#     print(k,v)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值