a=[1,2,3]
b=['小柯','小韩','小宝','小柯','小宝','小宝']
c=[['i','love','you'],[1,2,3],[7089143]]
#1、列表的反转
print(a[::-1])
#2、还有这种???
print(a[True])
#2、有一个很有意思的用法,定义包含n个常量的列表
n=4
l=[0]*n
print(l)
#3、优雅的列表推导式
new_list=[i*2 for i in a]
new_list1=[i for i in b if '宝' not in i]
print(new_list)
print(new_list1)
#5、字符串列表元素的拼接
print(''.join(b))
print('是'.join(b))
![]()
#列表元素去重
print(set(b))#利用集合去重,得到的结果集合不一定是有序的,这里要注意一下
#来个有顺序的
l_1= []
for i in b:
if i not in l_1:
l_1.append(i)
print(l_1)
![]()
#统计元素在列表的出现次数
print(b.count('小宝'))
#统计列表里每个元素出现的次数
dic={}
for key in b:
dic[key]=dic.get(key,0)+1
print(dic)
#再看看使用collections模块下的Counter类
from collections import Counter
print(Counter(b))
#利用pandas模块下的value_counts方法也行
import pandas as pd
print(pd.value_counts(b))
![]()
#嵌套列表的展开
print([item for i in c for item in i])
print(sum([['i','love','you'],[1,2,3],[7089143]], []))
#对于复杂嵌套的列表上述两种方法就无法展开了
list_2=[1,[2],[[3]],[[4,[5],6]],7,8,[9]]
#我们来看这列表该怎么展开呢
#这里递归是一个方法
def flat(list_2):
res = []
for i in list_2:
if isinstance(i, list):#判断i 的值是不是列表
res.extend(flat(i))
else:
res.append(i)
return res
print(flat(list_2))
#还有更直接更简单的是时候上大招了
print(list(map(int,(str(list_2).replace('[','').replace(']','')).split(','))))
![]()