集合基础

                 程传纪

#求a=[1,2,3,4,5,6,7,8,9,10]换成
#n=[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,end=’’)

#==============================================

a=‘1234567890abc’

hs=1

ct=0

i=0

for i in range(len(a)):

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

ct+=1

if ct==hs:

print()

ct=0

hs+=1

i+=1

#=======================================================
#集合set

a=[1,2,3,3,3,3,3,454,5,666,7,7]

b=set(a)

print(b)

print(type(b))

c=(1,2,3,3,21,2,1,4,3,2,1)

d=set©

print(d)

print(type(d))

i=‘123456754332142’

print(set(i))

#---------------------------

a={1,2,3,4,3,21,2,3,4,}

print(type(a))

print(a)

#---------------------
#列举出集合里的元素

a={1,2,3,4}

for i in a:

print(i)

a.add(9)

print(a)

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

print(set1)

a=set([1,2,3])

print(a)

#----------------------
#集合的增加

a={1,2,3,4}

a.add(‘qwe’)#增加是一个元素

print(a)

a.update(‘abc’)#update增加的是一个集合

print(a)

#=--------------------------------------------
#集合的删除

a={1,2,3,4,3,21}

a.pop()#pop在集合里是随机删除

print(a)

a.remove(3)#remove删除指定元素,不存在时报错

print(a)

a.discard(2)

print(a)#discard删除指定元素,不存在时不报错

# print(a.remove(7))#报错

a.discard(7)#不报错

print(a)

#------------------------

a={1,2,3,4}

b={5,6,7,8}

print(a.union(b))#union 指的是联合

c=b.union(a)

print©

print(a)

print(b)#集合不可修改只能增删

#交集

a={1,2,3,4}

b={2,3,5,6,7}

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

# c=a.difference(b)#difference 指的是a与b不同,输出的是1,4

# print©

# c=a.intersection(b)#intersection指的是两个集合的共有的

# print©

# c=a.smmetric_differencey(b)

# print©#ismmetric_differencey指的是两个集合都没有的

print(c.issuperset(a))#issuperset判断c是不是a的超集

print(c.issuperset(b))

print(a.issubset©)#issubset判断a是不是c的子集

#=--------------------------------------------------------
#=--------------------------------------------------------、
#集合间可以运算

a={1,2,3,4}

b={2,3,4,5,6,7,}

c=a-b#差集相当于difference

print©

print(b-a)

d=a|b#合集相当于union联合

print(d)

e=a&b#&指的是a.b交集

print(e)

#-------------------

print(4 in a)#判断4在不在集合a里

print(3 not in a)

print(a==b)#判断a=b

print(a!=b)#判断a不等于b

#推导式

a=[i for i in range(1000)]#推导出1000范围内的所有数

print(a)

#----------------------------

n=[j for j in range(2,1000,2)]#导出2-1000范围内的所有以2开始步长为2的数

print(n)

#-------------------------------------------------------------

m=[k for k in range(1000) if k%2==0]#导出1000范围内能被2整除得数

print(m)

#------------------------------------------------

a=[i for i in range(200,500) if i%30 or i%70]#导出200-500范围内能被3或7整除得数

print(a)

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

b=[a[i][1] for i in range(len(a)) ]#i地值是从0到2,第一个数是a[0][1],第二个数是a[1][1],第三个数是a[2][1]

print(b)

c=[a[i][2] for i in (len(a))]

print©

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

print(d)

#--------------------------------------

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

print(a)

#-----------------------------

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

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=‘12324’

for d in a:

print(d)

#==================

a=['zhangsan ',1,1,(3,2)]

for i in a:

print(i)

#----------------------------------

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

print(i)

#-------------#===================================================
#==============================

a=‘asdfghj’

for m,n in enumerate(a):# -------------=========================enumerate枚举

print(m,n)-----

#========================

a={‘name’:‘zhangsan’,‘age’:18,‘addr’:‘zhonggong’}

for i in a:

print(i)

print()

for j in a.keys():

print(j)

for m in a.values():

print(m)

for n in a.values():

print(n)

for g in a.items():

print(g)

#===================================== 面试题

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

b=set(a)

for i in b:

print(’%d在a中出现了%d次’%(i,a.count(i)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值