如何解决如何从函数返回集合
def getItems(things_list) -> list:
for i,j in enumerate(things_list):
[*things_id] = things_list[i].id
[*things_title] = things_list[i].title
things_structure = namedtuple('things',['id','title'])
[*things_list] = [
things_structure(things_id,things_title)
]
return things_list
如果我跑
callGetItems = getItems(list_of_things) # assume list_of_things is a dictionary
print(callGetItems)
它只会打印返回值的第一个索引,正如你所看到的,我实际上希望整个字典都打印出它们各自的 id 和标题。(假设至少有 3 个不同的键值对字典)
附言如果我在函数内打印,它会按预期打印存储在 [*things_list] 变量中的所有元素,但对于迭代返回值(即在函数外)则不能说相同。请帮忙。
为了对事物进行反混淆,假设这是字典 list_of_things:
list_of_things = [
{"id" : 1,"title" : "waterbottle","description" : "a liquid container"},{"id": 2,"title": "lunchBox","description": "a food container"}
]
# etc...
解决方法
这就是你想要的吗?从原始字典列表中创建命名元组列表?
from collections import namedtuple
list_of_things = [
{"id": 1,"title": "waterbottle","description": "a liquid container"},{"id": 2,"title": "lunchbox","description": "a food container"},]
def getItems(things_list) -> list:
things_structure = namedtuple("things",["id","title"])
return [things_structure(k["id"],k["title"]) for k in things_list]
new_things = getItems(list_of_things)
print(new_things)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。