Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.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 len(set()的解释_Python - Fatal编程技术网

Python len(set()的解释

Python len(set()的解释,python,Python,快速提问,我正在用Python编写一个小程序,并且正在寻找一种方法来创建一个条件,即如果4个数字的输入具有我想要的相同len,则只允许输入4个数字,并确保其中的所有数字都是唯一的。 在网上搜索了一段时间后,我发现有几个人给出了相同的解决方案,在我的例子中是len(set(input))==size(我号码的大小) 它工作得很好,但我无法理解它到底是如何工作的,我想知道。 我还尝试从中删除len,但它仍然有效,因此我不知道这段小代码中的每件事情会产生什么影响 因此,即使它允许我创建一个条件,确保4

快速提问,我正在用Python编写一个小程序,并且正在寻找一种方法来创建一个条件,即如果4个数字的输入具有我想要的相同len,则只允许输入4个数字,并确保其中的所有数字都是唯一的。 在网上搜索了一段时间后,我发现有几个人给出了相同的解决方案,在我的例子中是
len(set(input))==size
(我号码的大小)

它工作得很好,但我无法理解它到底是如何工作的,我想知道。 我还尝试从中删除
len
,但它仍然有效,因此我不知道这段小代码中的每件事情会产生什么影响

因此,即使它允许我创建一个条件,确保4个数字中的每一个都是唯一的,如果有人能向我解释它是如何工作的,我也会喜欢它

提前谢谢

附言:如果有人想知道我在练习什么,我会制作自己版本的牛和公牛。因此,给定一个使用random.sample的随机数,用户必须尝试猜测该数字是什么。我提到的条件是在用户输入时使用的。

A是一种数据结构,用于:

构建和操作唯一元素的无序集合

这些集合也必须是可散列的。但我们很幸运:字符串和字符是可散列的

关键是,如果我们构造一个集合形式
集合(['1'、'4'、'1'、'5'、'2'])
,它将因此构造一个唯一元素的集合。因此,在这里添加两次
'1'
没有任何区别,结果是
集(['1','4','5','2'])
(或者更方便地编写
{'1','4','5','2'}
)。使用
len(…)
我们可以获得集合的大小。因此,该集合的大小是输入的唯一字符数

因此,如果我们写
len(set(some_string))
我们将首先把一个字符串转换成一个集合。这是可能的,因为字符串是字符的一个iterable。因此Python将字符串视为有序的字符集合<代码>'abc',是
'a'
'b'
'c'
的集合。因此,每个数字都被视为一个元素并添加到集合中


但第二次添加相同的数字没有效果。这意味着我们得到了一个集合,每个数字加一次。然后通过计算
len(..)
得到唯一位数。然后,我们可以将该数字与给定的数字进行比较。

在Python中,每个输入都是一个字符串,可以转换为字符列表。当列表转换为集合时,它会保留唯一的元素


因此,当代码将数字串转换为一个集合时,它只保留唯一的数字。然后,当您找到长度时,它返回唯一位数

一个集合只能包含唯一的元素。因此
len(set(x))
告诉您
x
的唯一元素集的大小。您所说的“它仍然有效”是什么意思
set(input)=size
不会告诉你
input
中唯一项的数量是否等于
size
。你真的删除了
len
,还是你的意思是说你删除了
set
?你说得对,Barmar,我测试它时可能是巧合。既然我真的不明白为什么,我就错把它当成了工作,但事实上它错了:)嘿!非常感谢你的解释!继续python idle来测试这些,并完全理解它现在是如何工作的!谢谢谢谢你的解释!在对这里给出的答案进行了pythonidle测试之后,我完全理解了它的工作原理!谢谢