python基础—集合基础知识点

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)

#集合。
a=[1,2,3,4,2,5]
b=set(a)
print(b)
c="123dfdd454"
d=set(c)
print(d)

s={1,2,4,32,2,2,5,6,87}
print(s)
d={}
print(type(d))#大括号里没有值的时候就是字典类型。
for i in s:
    print(i)


s=set((1,2,4,3,5,1))#将元组转化为集合。set里只能接受一个变量,所以两层括号都不能去。
print(s)
a=set('123')#将字符串123看成一个变量,再用集合拆分。
print(a)
a.add('abc')#在后面添加元素,abc是一个元素。
print(a)
a.update('qwe')#追加一个集合,qwe都是集合里的元素。
print(a)
a.pop()#随机删除一个元素。
print(a)

a.remove('2')#删除不存在的内容时报错。
print(a)
a.discard('q')#删除不存在的内容时不会报错。
print(a)

a={1,2,3,4}
b={3,4,5,6}
print(a.union(b))#并集。
print(a)
print(b)
print(a.intersection(b))#交集。
print(b.difference(a))#差集。b-b交a
print(a.symmetric_difference(b))#排除两集合共同的元素的集合。
c={1,2,3}
print(c.issuperset(a))#判断c是否是a的父集。
print(c.issubset(a))#判断c是否是a的子集。
d={7,8}
print(a.isdisjoint(d))#判断a与c是否不存在交集,不存在时为true。
print(a.isdisjoint(b))
print(b-a)#与difference用法相同。
print(b|a)#并集。
print(a&b)#交集。
print(7 in a)#前面只能是元素,判断成员关系的。
print(a in b)
print(a==b)
print(a!=b)

#列表的创建方式。
a=[i for i in range(21)]
print(a)
b=[i for i in range(21) if i%2==0]
print(b)
c=[i for i in a if i%2==1]
print(c)

a=[i for i in range(200,501) if i%5==0 and i%7==0]
print(a)
a=[[1,2,3],[4,5,6],[7,8,9]]
b=[a[i][1] for i in range(len(a))]#选取a[0][1],a[1][1],a[2][1].
print(b)
c=[a[i][2] for i in range(len(a))]
print(c)
d=[a[i][0] for i in range(len(a))]
print(d)
e=[a[i][i] for i in range(len(a))]
print(e)
f=[a[i][-i-1] for i in range(len(a))]
print(f)

a=[[2*j+i+1+j for i in range(3)]for j in range(3)]#1,4,7步长为3,3*j+1.再延长i的值。
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)

s='123et5'
for d in s:
    print(d,end=' ')
a=['asd',1,2,3,(4,7)]
for x in a:
    print(x)
b=[i for i in range(2,7,3)]
print(b)
s='qexrumuec'#下标和值一一对应输出。
for xb,v in enumerate(s):
    print(xb,v)

a={'a':30,'b':4,'A':20,'B':22,'c':21}
for x in a:#与x in a.keys()效果相同。
    print(x)
for v in a.values():
    print(v)

a=[1,2,3,3,3,2,1,4,5,6,6,5]
for i in set(a):
    print(i,"出现了%d次。"%a.count(i))

#将字符串按正三角形式输出。
s='1we3rjicksn33'
j=1
k=0
for i in range(len(s)):
    if i==k:
        print()
        k+=j
        j+=1
    print(s[i],end='')

s='1we3rjicksn33'
h=1#表示行数,从1开始。
count=0#count用于计数,输出了n个a[i].
for i in range(len(s)):
    print(s[i],end='')
    count+=1
    if count==h:#当输出的a[i]个数与行数相等时,换行。
        print()
        count=0#换行一次将count归零。
        h+=1#行数递增。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值