使用Python,我正在尝试打印一个表,其中包含基于一组数据的整理信息。
Data 1 - 'Car', 'Cadillac','Blue'
Data 2 - 'Car', 'Aston Martin','Black'
Data 3 - 'Car', 'Cadillac', 'Blue'
现在我需要找到相同组合发生的次数 - 即我想打印'Car'
,'Cadillac'
和'Blue'
的组合出现两次,另一次一次。我如何在Python中执行此操作?
编辑:我正在使用Python 2.4!
答案 0 :(得分:2)
首先将字符串元组化并将其全部放入列表中;然后使用count
>>> list
[('Car', 'Cadillac','Blue'), ('Car', 'Aston Martin','Black'), ('Car', 'Cadillac', 'Blue'), ...]
>>> list.count(('Car', 'Cadillac', 'Blue'))
1
答案 1 :(得分:1)
>>> from collections import Counter
>>> Counter(['apple','red','apple','red','red','pear'])
Counter({'red': 3, 'apple': 2, 'pear': 1})
请参阅Collections in docs.python.org在python 2.7中可用
编辑:
与python 2.4兼容的列表方法
In [1]: cars = [('Car', 'Cadillac', 'Blue'), ('Car', 'Aston Martin', 'Black'), ('Car', 'Cadillac', 'Blue')]
In [2]: cars.count(('Car', 'Cadillac', 'Blue'))
Out[2]: 2
答案 2 :(得分:0)
首先,从list = ('a','b','c')
开始,如果您想利用现有的标准库检查http://docs.python.org/library/itertools.html#itertools.combinations
如果你是初学者,我建议你不要去图书馆,如果你想学习一些东西,你应该先尝试自己解决。
答案 3 :(得分:0)
Python允许任何可散列的不可变对象成为字典中的键,因此您可以使用元组('Car', 'Cadillac', 'Blue')
作为键。你可以使用collections.Counter
。
答案 4 :(得分:0)
您可以使用python Counter
>>> from collections import Counter
>>> list = [('car','astin'),('car','cadillac'),('car','astin')]
>>> Counter(list)
Counter({('car', 'astin'): 2, ('car', 'cadillac'): 1})