我了解此问题的基础知识,但是我需要如何以最有效的方式来做到这一点的帮助(为程序员节省了最少的时间,但是没有取代代码的稳定性或效率)。
假设我们有一个字符串:
grades=str(input("Enter a string"))
在我的代码中,我将在上面字符串中的所有字符之间加入一个空格,然后将这些字符拆分为同一列表中的单独项目:
grades=" ".join(grades)
grades.split(" ")
然后,我想使用某种循环来搜索列表中的重复项。但是,我想学习如何以最有效的方式做到这一点:
x=len(grades)
for i in range(0, x):
if grades[i] == # here is were I'm having trouble
我想知道如何搜索列表中的一项是否等于整个列表本身中的任何一项。此致。
答案 0 :(得分:4)
我举个例子:
from collections import Counter
a =[1,2,3,4,1,2]
c = Counter(a)
for k,v in c.items():
if v>1:
print(k,'repeated more than once')
此处c
将是一个Counter({1: 2, 2: 2, 3: 1, 4: 1})
这样的Counter对象。键是数组值,值是它们的计数。
因此,我写了for
供您理解。您可以使用c
做任何事,就像dict
一样。
>> [k for k,v in c.items() if v>1]
[1, 2]