Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中计算重复项。为什么我们只取集合而不取列表或记录?_Python_Python 3.x_List_Dictionary_Set - Fatal编程技术网

在python中计算重复项。为什么我们只取集合而不取列表或记录?

在python中计算重复项。为什么我们只取集合而不取列表或记录?,python,python-3.x,list,dictionary,set,Python,Python 3.x,List,Dictionary,Set,在for循环中,为什么只使用set而不使用list或dict?在for循环中,集合(文本)中的i将有重复项,对吗?请看这里 def duplicate_count(text): text = text.upper() duplicate_count = 0 for i in set(text): if text.count(i)>1: duplicate_count +=1 return duplicate_count

在for循环中,为什么只使用set而不使用list或dict?在for循环中,集合(文本)中的i将有重复项,对吗?

请看这里

def duplicate_count(text):
  text = text.upper()
  duplicate_count = 0
  for i in set(text):
      if text.count(i)>1:
          duplicate_count +=1

  return duplicate_count        
     
给我们
{1,2}

基本上,在代码中,他们迭代给定的iterable,对于每一个数字,他们会发现它重复了多少次。但是假设你有[2,2]。数字2重复了两次。我们将经历两次,将重复计数增加两次,但我们希望它增加一次。因此,在这种情况下,set工作得最好。

在set中,所有重复项都将被删除

集合是不同对象的无序集合

获取唯一项集合的常用方法是使用set

比如说,

print(set([1,2,2]))
这里我们将得到如下输出:

l=[1,2,3,4,4,4,5,5]
l1=set(l)
print(l1)
集合通常用于从列表中获取唯一值

有关从列表中删除重复项的不同方法的更多详细信息,请参阅-


不,您不会有重复项,这就是使用
set
的要点。您是否尝试过用
dict
list
替换
set
?你会注意到它不起作用或给出错误的结果。这就是为什么要使用
set
。你能帮我解决这个语句text.count(i)吗。这是否意味着文本中的值在i中的每次迭代中都会计数,并且与类似的字符/整数匹配?您能帮我解决这个语句text.count(i)吗。这是否意味着文本中的值在i中的每次迭代中都会计数并匹配相似的字符/整数?是的,文本就是我们的集合。计数函数应用于[1,2,2]。假设我们有text.count(2)它会给我们
2
,因为列表中显然有两个2。你能帮我解决这个语句text.count(1)吗。这是否意味着i中每次迭代的文本计数值都与类似的字符/整数匹配?text.count(i)统计文本中出现的“i”,如果计数大于1,则表示存在重复项,则重复项计数将增加1
{1, 2, 3, 4, 5}