我被困在如何将附加信息添加到列表叶的最低级别。我目前正在使用:
fruits = ['tomato', 'apple', 'watermelon']
fruit_detail = []
for fruit in fruits:
fruit_detail.append([[fruit, [fruit + ' is delicious']]])
这给了我:
[[['tomato', ['tomato is delicious']]], [['apple', ['apple is delicious']]], [['watermelon', ['watermelon is delicious']]]]
稍后,我将尝试在列表中添加更多详细信息:
fruit_detail[tomato].append('red')
我收到了错误
NameError: name 'tomato' is not defined
有没有可能达到我的目的
您应该改用字典:
现在,您可以通过水果名称来确定每个列表的地址:
您的代码使用了不必要的额外列表,但要对简单列表执行相同的操作:
您必须先扫描整个列表,甚至找到匹配的列表:
这是几乎没有效率或容易处理。添加的项目越多,搜索所需的时间就越长。另一方面,字典在查找与键相关联的值时效率要高得多
有关更多信息,请参见Dictionaries section of the Python tutorial
相关问题 更多 >
编程相关推荐