Python 什么是中风';key=len';?

Python 什么是中风';key=len';?,python,Python,请告诉我字符串的排序是什么(args,key=len)[0] sorted函数采用可选参数key,该函数用于测量列表元素的大小。因此,在您的例子中,您将按照列表的长度对列表集合进行排序 例如: L1 = [1, 2, 3, 4] L2 = sorted(L1, key=lambda x: -x) # [4, 3, 2, 1] L3 = sorted(L1, key=lambda x: x % 2) # [2, 4, 1, 3] 因此,功能 def shortest_seq(*args):

请告诉我字符串的排序是什么(args,key=len)[0]


sorted
函数采用可选参数
key
,该函数用于测量列表元素的大小。因此,在您的例子中,您将按照列表的长度对列表集合进行排序

例如:

L1 = [1, 2, 3, 4]
L2 = sorted(L1, key=lambda x: -x)  # [4, 3, 2, 1]
L3 = sorted(L1, key=lambda x: x % 2)  # [2, 4, 1, 3]
因此,功能

def shortest_seq(*args):
    return range(len(sorted(args, key=len)[0]))
获取任意数量的iterable并返回一个列表(实际上不是一个范围对象,但足够接近),其数字为0到n-1,其中n是提供给函数的最短iterable的长度

代码

g = ((names[i], heroes[i]) for i in shortest_seq(names, heroes))
for item in g:
    print(item)
将执行与相同的操作

for item in zip(names, heroes)
    print item

这真是一种可怕的代码风格。更有效的方法是
g=zip(姓名、英雄)
。所以根本没有
shortest\ seq
。为什么不执行手头的代码并检查输出,看看它有什么作用?@WillemVanOnsem,我尝试使用“zip”,但它就是输出。为什么,问题出在哪里?@AlekseiGrabor:没错,但是你在
zip
对象上迭代,在
中,对于g
中的项@WillemVanOnsem,我想问你另一件事,我可以在哪里写(如果你允许的话)?
for item in zip(names, heroes)
    print item