在python中创建一个空的嵌套列表
我想在python中创建一个空的嵌套列表。我搜索了关于嵌套列表的信息,大多数通常是嵌套列表,其中已经有值。在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文件导入到苹果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")
是的,你可以这样做什么,但是请注意,你的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
你好,谢谢你答复。是否有可能使用dict方法创建数据库? – JasonSmith
如果你想持久化数据,[shelve](https://docs.python.org/3/library/shelve.html)模块提供了字典的轻量级持久性。 –
您可以使用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")
我会选择第一种方法,使用词典,而是取决于你要做
你好,谢谢你的回复。对于'one_fruit = {'ID':0,'price':0,'quantity':0}',如果我使用变量而不是硬编码值,有可能吗?这是因为ID是随机生成的,并在while循环中添加到列表 – JasonSmith
是的,当然可以使用像'one_fruit = {'ID':variableID,'price':variable_price,'quantity'的变量: variable_quantity}。你甚至可以做'水果['苹果'] ['ID'] =变量ID' – nacho
@JasonSmith你可以投票的答案和帮助,所以下次你会很高兴做到这一点 – nacho
在代码中没有嵌套列表....实际上你的代码没有任何意义 – Netwave
也许,你可以显示如何创建空的嵌套列表? – JasonSmith
这不是一个让我软件服务。先试试作业并努力学习。这个代码根本没有努力。 – Netwave