创建数量未知的“嵌套”变量

2024-04-25 06:58:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一种方法,在解析数据进行排序之前,用子变量创建一个数量可变的变量来存储数据。你知道吗

让我们更深入一点:我需要存储一个可变数量的下一个出发站数据,这些数据来自交通线路可变列表的两个方向。解析一个feed,每次我用for循环迭代一个项目,一辆车从一条线出发,在一个给定的方向上每停一站,所以我不知道在开始时会有多少条线,停几站,离几站。你知道吗

我不知道如何创建相关变量,以便能够存储所有这些数据,然后能够使用行、方向和站点名称作为键来迭代每个站点上的下一个出发点。你知道吗

你能帮我找到合适的结构和如何使用吗?你知道吗

谢谢你的帮助。你知道吗


Tags: 数据项目方法列表for数量排序站点
1条回答
网友
1楼 · 发布于 2024-04-25 06:58:14

从简单的项目开始:

vehicles = ('vehicle 1', 'vehicle 2')

# Simulating 2 departures list
dep_vehicle_1 = [str(time).zfill(2)+':00' for time in range(10)]
dep_vehicle_2 = [str(time).zfill(2)+':00' for time in range(5)]

# Create a dictionary to start collecting departures times
departures_list = {}

# Filling the departures dictionary with vehicles
for vehicle in vehicles:
    departures_list[vehicle] = []
    # Output:
    # {'vehicle 1': [], 'vehicle 2': []}

# Later, to add (n) departures time, just launch the loop for each vehicle:
departures_list['vehicle 1'] += dep_vehicle_1
departures_list['vehicle 2'] += dep_vehicle_2

# If later you need to iterate over time, you can do:
for time in departures_list['vehicle 1']:
    print(time)

还需要注意的是,可以将字典嵌套到字典中:

departures_list['another_set'] = {'option1': 'value1', 'option2': 'value2'}
print(departures_list)
'''
{'vehicle 1': ['00:00', '01:00', '02:00', '03:00', '04:00',
 '05:00', '06:00', '07:00', '08:00', '09:00'],
 'vehicle 2': ['00:00', '01:00', '02:00', '03:00', '04:00'],
 'another_set': {'option1': 'value1', 'option2': 'value2'}}
'''

print(departures_list['another_set'])
# {'option1': 'value1', 'option2': 'value2'}

print(departures_list['another_set']['option1'])
# value1

如果您想迭代字典中未知数量的车辆,您可以:

for key in departures_list:
    print(key, departures_list[key])

相关问题 更多 >