gpt4 book ai didi

Python 元组操作和计数

转载 作者:太空狗 更新时间:2023-10-30 02:13:04 26 4
gpt4 key购买 nike

我有以下元组。我想构建一个输出如输出中所述的字符串。我想计算与“a”对应的所有元素,即,有多少 k1 发生 w.r.t“a”等等。什么是最简单的方法

a=[('a','k1'),('b','k2'),('a','k2'),('a','k1'),('b','k2'),('a','k1'),('b','k2'),('c','k3'),('c','k4')]

输出应该是一个字符串 output=""

 a k1  3
a k2 1
b k1 1
b k2 3
c k3 1
c k4 1

最佳答案

使用 Counter 集合中的类:

>>> a = [('a', 'k1'), ('b', 'k2'), ('a', 'k2'), ('a', 'k1'), ('b', 'k2'), ('a', 'k1'), ('b', 'k2'), ('c', 'k3'), ('c', 'k4')]
>>> from collections import Counter
>>> c = Counter(a)
Counter({('b', 'k2'): 3, ('a', 'k1'): 3, ('a', 'k2'): 1, ('c', 'k3'): 1, ('c', 'k4'): 1})

您可以使用 c.items() 来迭代计数:

>>> for item in c.items():
... print(item)
...
(('a', 'k2'), 1)
(('c', 'k3'), 1)
(('b', 'k2'), 3)
(('a', 'k1'), 3)
(('c', 'k4'), 1)

上面的代码是 Python 3。Counter 类是 Python 2.7 中新增的。您现在可以按所需顺序重新排列项目,并在需要时将它们转换为字符串。

关于Python 元组操作和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11260770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com