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))