计算元组中的唯一字符串,Python
我试图计算元组中的唯一字符串,并在列表中仅输出唯一字符串及其计数。我尝试使用列表组件,但遇到一些问题:计算元组中的唯一字符串,Python,python,tuples,Python,Tuples,我试图计算元组中的唯一字符串,并在列表中仅输出唯一字符串及其计数。我尝试使用列表组件,但遇到一些问题: def tupleTag(inputList): from collections import Counter c = Counter(inputList[0] for inputList in inputList) print set(inputList[0], c) inputList = [('love','family'),('dinner','famil
def tupleTag(inputList):
from collections import Counter
c = Counter(inputList[0] for inputList in inputList)
print set(inputList[0], c)
inputList = [('love','family'),('dinner','family','nomnom'),('wedding','romance','love')]
tupleTag(inputList)
正确的输出是=
[(love,2), (family,2)]
您似乎在正确的轨道上使用
集合。计数器
。我还会加入一个itertools.chain
:
items = itertools.chain.from_iterable(inputList)
counts = collections.Counter(items)
现在,您有了一个项目的地图,显示了项目出现的次数。如果您想要一个元组的排序列表,其形式为(,)
,您可以使用该方法——当然,您可以对其进行筛选,以仅查找重复的字符串及其计数:
repeated_items = [(key, count) for key, count in counts.most_common() if count > 1]
注意,您实际上不需要使用最常见的来过滤项目,但它会按项目的常见程度给出结果。如果这不是必需的,则在项目上进行简单的循环将更有效:
repeated_items = [(key, count) for key, count in counts.items() if count > 1]
您似乎在正确的轨道上使用集合。计数器
。我还会加入一个itertools.chain
:
items = itertools.chain.from_iterable(inputList)
counts = collections.Counter(items)
现在,您有了一个项目的地图,显示了项目出现的次数。如果您想要一个元组的排序列表,其形式为(,)
,您可以使用该方法——当然,您可以对其进行筛选,以仅查找重复的字符串及其计数:
repeated_items = [(key, count) for key, count in counts.most_common() if count > 1]
注意,您实际上不需要使用最常见的来过滤项目,但它会按项目的常见程度给出结果。如果这不是必需的,则在项目上进行简单的循环将更有效:
repeated_items = [(key, count) for key, count in counts.items() if count > 1]
您似乎在正确的轨道上使用集合。计数器
。我还会加入一个itertools.chain
:
items = itertools.chain.from_iterable(inputList)
counts = collections.Counter(items)
现在,您有了一个项目的地图,显示了项目出现的次数。如果您想要一个元组的排序列表,其形式为(,)
,您可以使用该方法——当然,您可以对其进行筛选,以仅查找重复的字符串及其计数:
repeated_items = [(key, count) for key, count in counts.most_common() if count > 1]
注意,您实际上不需要使用最常见的来过滤项目,但它会按项目的常见程度给出结果。如果这不是必需的,则在项目上进行简单的循环将更有效:
repeated_items = [(key, count) for key, count in counts.items() if count > 1]
您似乎在正确的轨道上使用集合。计数器
。我还会加入一个itertools.chain
:
items = itertools.chain.from_iterable(inputList)
counts = collections.Counter(items)
现在,您有了一个项目的地图,显示了项目出现的次数。如果您想要一个元组的排序列表,其形式为(,)
,您可以使用该方法——当然,您可以对其进行筛选,以仅查找重复的字符串及其计数:
repeated_items = [(key, count) for key, count in counts.most_common() if count > 1]
注意,您实际上不需要使用最常见的来过滤项目,但它会按项目的常见程度给出结果。如果这不是必需的,则在项目上进行简单的循环将更有效:
repeated_items = [(key, count) for key, count in counts.items() if count > 1]
mgilson的回答非常圆滑,值得研究。以下是使用理解的花园品种方法:
tups = ... # Your data.
c = Counter(x for tup in tups for x in tup)
result = [(k, n) for k, n in c.items() if n > 1]
mgilson的回答非常圆滑,值得研究。以下是使用理解的花园品种方法:
tups = ... # Your data.
c = Counter(x for tup in tups for x in tup)
result = [(k, n) for k, n in c.items() if n > 1]
mgilson的回答非常圆滑,值得研究。以下是使用理解的花园品种方法:
tups = ... # Your data.
c = Counter(x for tup in tups for x in tup)
result = [(k, n) for k, n in c.items() if n > 1]
mgilson的回答非常圆滑,值得研究。以下是使用理解的花园品种方法:
tups = ... # Your data.
c = Counter(x for tup in tups for x in tup)
result = [(k, n) for k, n in c.items() if n > 1]
什么是唯一字符串?根据我对unique的理解,在你的输入列表中有更多的unique字符串,比如晚餐
,名字
,等等。似乎你所说的unique是指其他东西,如果是,请明确定义。我想疯子指的是重复字符串。@huey yup,我的意思是重复字符串。@AnandSKumar我的意思是重复字符串,就像族重复两次一样,所以我想计算这些字符串并返回一个元组作为族的计数。什么是唯一字符串?根据我对unique的理解,在你的输入列表中有更多的unique字符串,比如晚餐
,名字
,等等。似乎你所说的unique是指其他东西,如果是,请明确定义。我想疯子指的是重复字符串。@huey yup,我的意思是重复字符串。@AnandSKumar我的意思是重复字符串,就像族重复两次一样,所以我想计算这些字符串并返回一个元组作为族的计数。什么是唯一字符串?根据我对unique的理解,在你的输入列表中有更多的unique字符串,比如晚餐
,名字
,等等。似乎你所说的unique是指其他东西,如果是,请明确定义。我想疯子指的是重复字符串。@huey yup,我的意思是重复字符串。@AnandSKumar我的意思是重复字符串,就像族重复两次一样,所以我想计算这些字符串并返回一个元组作为族的计数。什么是唯一字符串?根据我对unique的理解,在你的输入列表中有更多的unique字符串,比如晚餐
,名字
,等等。似乎你所说的unique是指其他东西,如果是,请明确定义。我想疯子指的是重复字符串。@huey yup,我的意思是重复字符串。@AnandSKumar我的意思是重复字符串,就像family重复两次一样,所以我想计算这些字符串并返回一个元组作为family的计数。您所说的有道理,但不熟悉itertools.chainLink:[itertools.chain](https://docs.python.org/3.4/library/itertools.html#itertools.chain)
。您所说的有道理,但不熟悉itertools.chainLink:[itertools.chain](https://docs.python.org/3.4/library/itertools.html#itertools.chain)
。您所说的有道理,但不熟悉itertools.chainLink:[itertools.chain](https://docs.python.org/3.4/library/itertools.html#itertools.chain)
。您所说的有道理,但不熟悉itertools.chainLink:[itertools.chain](https://docs.python.org/3.4/library/itertools.html#itertools.chain)
。k如何表示我们在变量c中计算的字符串?@madman迭代