python查找列表中的重复值_在列表列表中查找重复项

解决方案

使用collections.Counter:from collections import Counter

original_list = [['a', 1], ['b', 1], ['a', 1], ['b', 1], ['b', 2], ['c', 2], ['b', 3]]

result = Counter()

for k, v in original_list:

result.update({k:v})

map(list, result.items())

# [['a', 2], ['c', 2], ['b', 7]]

调查结果

所以,很多答案,观点和赞成票。我甚至白手起家(在过去的两天里,我做出了许多值得更多研究和努力的答案)。鉴于此,我决定至少用从头开始编写的simple script来做一些研究和测试解决方案的性能。不要为了大小而直接在应答中包含代码。

每个函数都是根据其作者命名的,很容易在问题中找到。thefourtheye的解现在等于Mark Reed的一个,并以原始形式计算,即基于itertools.groupby的解的第二个状态。

每一个都进行了多次测试(示例),每个示例依次调用几个函数迭代。我评估了样品时间的最小、最大和标准偏差。

我们开始,进行10次探测测试。testing: thefourtheye, kroolik2, void, kroolik, alko, reed, visser

10 samples

10 iterations each

author min avg max stddev

reed 0.00000 0.00000 0.00000 0.00000

visser 0.00000 0.00150 0.01500 0.00450

thefourtheye 0.00000 0.00160 0.01600 0.00480

thefourtheye2 0.00000 0.00310 0.01600 0.00620

alko 0.00000 0.00630 0.01600 0.00772

void 0.01500 0.01540 0.01600 0.00049

kroolik2 0.04700 0.06430 0.07800 0.00831

kroolik 0.32800 0.34380 0.37500 0.01716

看下面两行:在这一点上,kroolik解决方案被取消资格,因为有了它,任何合理数量的样本*迭代都将执行数小时。这是最后的测试。我手动向ouptut添加了upvots数:testing: thefourtheye, kroolik2, void, kroolik, alko, reed, visser

100 samples

1000 iterations each

author upvotes min avg max stddev

reed [20] 0.06200 0.08174 0.15600 0.01841

thefourtheye [5] 0.06200 0.09971 0.20300 0.01911

visser [6] 0.10900 0.12392 0.23500 0.02263

thefourtheye2 0.25000 0.29674 0.89000 0.07183

alko [11] 0.56200 0.62309 1.04700 0.08438

void [3] 1.50000 1.65480 2.39100 0.18721

kroolik [14] [DSQ]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值