我正在尝试在python中创建一个空的嵌套列表。我搜索了有关嵌套列表的信息,大多数通常是已经包含值的嵌套列表。
我需要嵌套列表的原因是因为我有一组项目:Apple,Pears和Oranges。但是,每个项目都有另一个列表,其中包括:ID,价格,数量。
所以我的计划是: 1.将所有项目分别放入索引0,1,2。 所以,apple = [0],pears = [1],oranges = [2] 2.创建另一个嵌套列表以放置ID,价格和数量。 所以以苹果为例,我会这样做: apple [0] [0] .append(ID),apple [0] [1] .append(price),apple [0] [2] .append(quantity)
嵌套列表是否可以以这种方式工作?或者有没有其他方法来创建一个空的嵌套列表?顺便说一句,苹果,梨和橙都有自己的python代码文件,所以我必须将梨和橙色python文件导入到apple python文件中。我很感激任何帮助。谢谢。
apple.py的代码:
fruits = [],[]
fruits[0],[0].append("ID")
fruits[0],[1].append("price")
fruits[0],[2].append("quantity")
来自pears.py的代码:
fruits = [],[]
fruits[1],[0].append("ID")
fruits[1],[1].append("price")
fruits[1],[2].append("quantity")
答案 0 :(得分:0)
您可以使用python词典并以这种方式执行:
fruits={}
one_fruit={'ID':0,'price':0,'quantity':0}
fruits['apple']=one_fruit
或者您可以通过这种方式使用列表:
fruits = [],[]
fruits[0].append("ID")
fruits[0].append("price")
fruits[0].append("quantity")
我会选择第一种方法,使用字典,但取决于你要做什么
答案 1 :(得分:0)
是的,你可以这样做,但要注意你的fruits
对象是一个元组,而不是一个列表。这意味着你不能添加新类型的水果。
>>> fruits = [],[]
>>> type(fruits)
<type 'tuple'>
>>> fruits.append([])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
使用其他方括号使其成为列表列表:
>>> fruits = [[],[]]
>>> type(fruits)
<type 'list'>
>>> fruits.append([])
>>> fruits
[[], [], []]
然后你可以按预期填充内部列表,只需要省略那些不是有效Python的额外索引和逗号:
>>> fruits[0].append("ID")
>>> fruits[0].append("price")
>>> fruits[0].append("quantity")
>>> fruits
[['ID', 'price', 'quantity'], [], []]
然后你会重复fruit[1]
,fruit[2]
。
或者你可以循环完成所有这些:
fruits = []
for n in range(3):
fruits[n].append("ID")
fruits[n].append("price")
fruits[n].append("quantity")
但实际上,这听起来像你应该使用dict:
fruits = {}
for id, fruit in enumerate(["apples", "pears", "oranges"]):
fruits[fruit] = { "ID": id, "price": None, "quantity": 0 }
然后你可以像这样使用它们:
fruits["apples"]["price"] = 2.99
fruits["apples"]["quantity"] = 5