如何在Python中存储类似C的结构列表?

时间:2016-12-01 08:53:00

标签: python list dictionary

让我用一个简单的例子来解释这个问题:

让我们说我想存储100个人的名字,以及他们拥有的汽车的品牌(因此可以有1个或更多)。

我在考虑在Python中使用字典,但是只能存储一个附加到一个名称的字符串。也许我可以分开汽车了。这样的名字:

people_and_cars = {'Jack':'Opel Audi'}

当我需要它们时,我可以把它分成欧宝'和'奥迪通过split()功能,但似乎有点傻解决。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以将数据存储在字典中:

people_and_cars = {}

杰克有一辆欧宝汽车,但他可能会再购买另一辆汽车,所以我把这个存放在这样一个列表中:

people_and_cars['Jack'] = ['Opel']

print(people_and_cars)  # Output: {'Jack': ['Opel']}

现在,杰克买了一辆新的奥迪汽车,所以我把它添加如下:

people_and_cars['Jack'].append('Audi')

print(people_and_cars)  # Output: {'Jack': ['Opel', 'Audi']}

您可能需要先检查词典中是否存在某人,您可以这样做:

if person in people_and_cars:
    people_and_cars[person].append(car)
else:
    people_and_cars[person] = [car]

答案 1 :(得分:0)

将每个人的汽车列表存储为列表。该列表将是您词典中键(人)的值。

对于你的例子:

people_and_cars = dict()
people_and_cars['Jack'] = ["Opel", "Audi"]