list(三)

一、list去重
当元素可散列(数字,字符串,元组)时直接用set();
当元素不可散列时(列表,字典,集合)时:

new_list=[]
for lis in list:
    if lis not in new_list:
        new_list.append(lis)
     pass

二、找出列表中出现次数最多的元素
利用标准库collections中的Counter类

import collections
print(dir(collections))
words=['p','e','r','d','s','e','w','e','s','a','a']
count=collections.Counter(words)
print(count.most_common(1))
count_str=collections.Counter('iajfkwjotjo4webowhrwqutrvupoeitobeuteyityweoiut0iw39u298yyywiudhgiweg')
print(count_str.most_common(3))

输出:

[('e', 3)]
[('w', 8), ('i', 7), ('o', 6)]

三、列表推导式
列表推导式或者说列表解析式是一种非常简洁的创建列表的方式。很多时候我们需要创建一个满足特定要求的新列表,不得不用for循环来创建,而用列表推导式来表达只需要一行代码即可。列表推导式另一个优点是相比于for循环更高效,因为列表推导式在执行时调用的是Python的底层C代码,而for循环则是用Python代码来执行。
在这里插入图片描述
列表推导式还可以进行嵌套,如:

a=[[1,2,3,4],[3,21,3,6],[3,4,5,0]]
b=[i[0] for i in a if i[1]>2] #普通推导式
print(b)
c=[[m[i] for m in a] for i in range(4)]  #嵌套推导式,把3*4矩阵变为4*3矩阵
print(c)

输出:

[3, 3]
[[1, 3, 3], [2, 21, 4], [3, 3, 5], [4, 6, 0]]

四、命名切片

a=slice(2,8,2) #给切片命名
lis=[0,1,2,3,4,5,6,7,8]
s=lis[a]
print(s)
print(a.start)
m=lis[2:8:2]
print(m)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值