python列表小技巧

文章介绍了Python中列表去重的三种方法:手写函数、set和字典keys,以及列表元素求和和使用collections.Counter计算元素出现次数的技巧。展示了如何保持顺序并获取最常见的k个元素。
摘要由CSDN通过智能技术生成

1. 列表去重技巧

1.1 手写函数去重法

a = [1, 3, 2, 2, 3, 4]
b = []
for i in a:
    if i not in b:
        b.append(i)
print(a)
print(b)

1.2 set()去重法

a = [1, 3, 2, 2, 3, 4]
a = list(set(a))
print(a)

但是set()后的列表是乱序的!!!

1.3 keys()去重法

a = [1, 3, 2, 2, 3, 4]
a = list({}.fromkeys(a).keys())
print(a)

使用法1和法3都可以保持去重后的顺序不变

2. 列表元素求和技巧

a = []
sum(list(map(int, a)))

3. 求列表各元素出现的次数

我们在这里引入“collections”库的“Counter”类,Counter是一个计数器,常用于统计。

当不使用Counter时,可以用下面的方法来实现:

colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
result = {}
for color in colors:
    if result.get(color) == None:
        result[color] = 1
    else:
        result[color] += 1
print(result)
# {'red': 2, 'blue': 3, 'green': 1}

当我们使用Counter时:

from collections import Counter
a = ['l', 'a', 'n', 'q', 'i', 'a', 'o']
print(a)
a = Counter(a)
print(a)

#输出如下
#['red', 'blue', 'red', 'green', 'blue', 'blue']
#Counter({'blue': 3, 'red': 2, 'green': 1})

使用Counter()后返回按顺序从大到小的新列表

查看最常见出现的k个元素:

Counter('abracadabra').most_common(3)
#[('a', 5), ('r', 2), ('b', 2)]

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风的暖色调

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值