#把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)