max函数如何在python集上工作?

max函数如何在python集上工作?,python,set,Python,Set,代码: 结果: test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4] print(max(set(test), key = test.count)) 在上面的代码中,它总体上是如何工作的 我的理解是,在列表test转换为一个集合后,所有重复的元素都会丢失。那么max函数如何查找列表中出现次数最多的值呢?调用set(test)不会更改test变量中的内容。它仍然包含包含所有重复项的列表。这只是过滤掉max()的第一个参数中的重复项(以尽量减少调用test.coun

代码:

结果:

test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4] 
print(max(set(test), key = test.count)) 
在上面的代码中,它总体上是如何工作的

我的理解是,在列表
test
转换为一个集合后,所有重复的元素都会丢失。那么
max
函数如何查找列表中出现次数最多的值呢?

调用
set(test)
不会更改
test
变量中的内容。它仍然包含包含所有重复项的列表。这只是过滤掉
max()
的第一个参数中的重复项(以尽量减少调用
test.count()
),但是
键可以在原始列表中对它们进行计数

如果您重新分配
测试
,则会出现您描述的问题,如下所示:

4

谢谢你,巴尔马!这是我遇到的一种新的实现&我将其理解为max应用于set(test),而不是实际的list test&并且max函数在引用原始测试变量(包含所有值)时不存在。您是否可以分享更多有助于更好理解此实现的示例?
max()
正在应用于
set(test)
。但是
功能使用的是原始的
测试
列表,而不是设置。
test = set(test)
print(max(test, key=test.count))