【发布时间】:2019-07-11 02:11:22
【问题描述】:
我是 python 新手,正在尝试编写一个函数,该函数接受一个字典列表并返回一个新的字符串列表,其中每个字典中的名字和姓氏键连接在一起。
names = [{'first': 'John', 'last': 'Smith'}, {'first': 'Jessie', 'last': 'Snow'}]
def name_function(lst):
for name in lst:
return f"{name['first']} {name['last']}"
names_function(names)
'John Smith'
我编写了一个 for 循环,它遍历字典列表并返回一个 f 字符串,该字符串连接每个字典中的名字和姓氏键,但是,循环无法迭代超过第一个键,我希望有人可以指出我的问题。
【问题讨论】:
-
a return 立即退出函数并返回值。您需要将字符串存储在列表中,并在最后返回列表。 (或选择其他替代品,例如产量)
-
因为你
return在第一次迭代中。 -
只是
return [f"{name['first']} {name['last']}" for name in lst]没有循环。