在 python 中创建一个空的嵌套列表

Creating an empty nested list in python

我正在尝试在 python 中创建一个空的嵌套列表。我搜索了有关嵌套列表的信息,大多数通常是已经包含值的嵌套列表。

我需要嵌套列表的原因是因为我有一组项目:Apple、Pears 和 Oranges。但是,每个项目都有另一个列表,其中包含:ID、价格、数量。

所以我的计划是: 1.将所有项目分别放入索引0,1,2。 所以,苹果 = [0],梨 =[1],橙子 =[2] 2. 创建另一个嵌套列表来放置 ID、价格和数量。 所以以苹果为例,我会这样做: apple[0][0].append(ID), apple[0][1].append(价格), apple[0][2].append(数量)

嵌套列表可以这样工作吗?或者有没有其他方法可以创建一个空的嵌套列表?顺便说一下,苹果、梨子和橙子都有自己的python代码文件,所以我必须将梨子和橙子python文件导入到苹果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")

您可以使用 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")

我会选择第一种方法,使用字典,但这取决于你要做什么

是的,您可以这样做,但请注意您的 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