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

Python 创建数量未知的“嵌套”变量,python,python-2.7,Python,Python 2.7,我试图找到一种方法,在解析数据进行排序之前,创建一个变量数可变的变量,并使用子变量来存储数据 让我们更深入一点:我需要存储一个可变数量的下一个出发点数据,这些数据来自一个可变的运输线路列表的两个方向。解析一个提要时,我每次都会使用for-one车辆循环从一条线路迭代项目,该线路在给定方向上的每一站都会离开,所以我不知道在开始时会有多少条线路,哪些线路,哪些线路会停下来,哪些线路会离开 我不知道如何创建相关变量,以便能够存储所有这些数据,然后能够使用线、方向和站点名称作为键,在每个站点上迭代下一个

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

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

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

你能帮我找到合适的结构和使用方法吗


感谢您的帮助。

从简单的项目开始:

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])

我认为您需要对数据建模,但是python字典听起来像是您可以使用的东西,您可以根据需要向其中添加项。为什么不使用列表和字典来完成此任务?你可以动态地给它添加新的对象……我想到了,但我不知道如何正确地组织它们,使之可行。假设我有一条C线,有W站和X站,在W方向各有两个出发时间,出发时间:11:00,12:00;十、 出境时间:11:30、12:30;W、 入境时间:11时45分,12时45分;;十、 进站时间为12:15、13:15,B线有Y站和Z站,在Y方向各有两次发车时间,出站时间为11:00、12:00;Z、 出境时间:11:30、12:30;Y、 入境时间:11时45分,12时45分;;Z、 入站12:15、13:15,如何动态设置它们?我根本不习惯处理动态嵌套数据。。。因此我的问题。请记住,在我设置它们时,我不知道我有多少站和离站,并且我是否已经为以前的车辆创建了线方向停止对象。。。