python 列表的那些骚操作

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(','))))

 

 
posted @   CWG-ZSK  阅读(71)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示