如何返回字典列表中字符串最长的对象?(python)

2024-10-06 09:48:54 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的示例中,知道如何返回具有最长名称的对象吗

def instructorWithLongestName(instructors):

    instructors = [ 
      {'name': "Samuel", 'course': "iOS"},
      {'name': "Jeremiah", 'course': "Data"},
      {'name': "Ophilia", 'course': "Web"},
      {'name': "Donald", 'course': "Web"}
      {'name': "Matthew", 'course': "Data"},
      {'name': "David", 'course': "iOS"},
      {'name': "Domascus", 'course': "Web"}
    ]
    
    max_len = -1
    for name in instructors:
        if len(name) > max_len:
            max_len = len(name)
            res = name


print(instructorWithLongestName([
  {name: "Samuel", course: "iOS"},
  {name: "Jeremiah", course: "Data"},
  {name: "Ophilia", course: "Web"},
  {name: "Donald", course: "Web"}
]))
print(instructorWithLongestName([
  {name: "Matthew", course: "Data"},
  {name: "David", course: "iOS"},
  {name: "Domascus", course: "Web"}
]))

这应该是预期的输出:

    {name: "Jeremiah", course: "Data"}
    {name: "Domascus", course: "Web"}

我的讲师列表中出现了一个SyntaxError,但我希望这能起到作用。显然不是。任何帮助都将不胜感激-谢谢


Tags: namewebdatalenmaxiossamuelcourse
2条回答
instructors = [ 
      {'name': "Samuel", 'course': "iOS"},
      {'name': "Jeremiah", 'course': "Data"},
      {'name': "Ophilia", 'course': "Web"},
      {'name': "Donald", 'course': "Web"},
      {'name': "Matthew", 'course': "Data"},
      {'name': "David", 'course': "iOS"},
      {'name': "Domascus", 'course': "Web"}
    ]

如果给你一个变量“instructors”,你会得到一个名字最长的dict

def f(items):
    return max(items, key=lambda item: len(item.get('name')))
def instructorWithLongestname(instructors):
    return max(instructors, key=lambda d:len(d['name']))

print(instructorWithLongestname([
  {'name': "Samuel", 'course': "iOS"},
  {'name': "Jeremiah", 'course': "Data"},
  {'name': "Ophilia", 'course': "Web"},
  {'name': "Donald", 'course': "Web"}
]))
print(instructorWithLongestname([
  {'name': "Matthew", 'course': "Data"},
  {'name': "David", 'course': "iOS"},
  {'name': "Domascus", 'course': "Web"}
]))

印刷品

{'name': 'Jeremiah', 'course': 'Data'}
{'name': 'Domascus', 'course': 'Web'}

相关问题 更多 >