蓝大伟 发表于 2020-8-1 12:16:20

求解一简单代码

names = [{'name':'david','age':24},
        {'name':'chris brown','age':35}
        ]
       names.sort(key = lambda item:len(item['name']))
       print(name)

这是一个微软官方教程里面的
里面的key和item是什么,哪来的?
我把这代码复制到IDLE里似乎用不了

永恒的蓝色梦想 发表于 2020-8-1 12:18:46

names = [{'name':'david','age':24},
      {'name':'chris brown','age':35}
      ]; names.sort(key = lambda item:len(item['name']));print(names)这样就能用了

Twilight6 发表于 2020-8-1 12:19:21

本帖最后由 Twilight6 于 2020-8-1 12:25 编辑


Python List sort()方法 :https://www.runoob.com/python/att-list-sort.html

key 是 sort 函数里面的参数

item 只是你匿名函数自己定义的一个参数名,你改成其他的不影响,主要是匿名函数 lambda 里面的函数内容

sort 函数会将 names 列表中的字典自动传入到 item

通过 item 的 name 键所对应的字符串长度来进行 sort 排序

而且你的代码缩进错了、而且最后 print 是 names,而不是 name:

names = [{'name':'david','age':24},
      {'name':'chris brown','age':35}
      ]
names.sort(key = lambda item:len(item['name']))
print(names)
页: [1]
查看完整版本: 求解一简单代码