我是python的新手,我正在编写航班预订系统程序。我在删除乘客详细信息时遇到了删除问题,因为我有多个键的字典,键的值在单独的单独列表中。
我尝试了多种方法使用pop函数,它只删除特定的键和相应的值
如何删除不同键乘客信息的所有值。
例如:如果用户输入'tes',那么我需要删除相应的flightId,Age,destination,dlytype,source
我得到如下用户输入
Passenger = raw_input("Enter Name to delete")
字典值如下:
{'Passenger': ['tes', 'ssss'],
'FlightId': ['ssss', 'tre'],
'Age': ['12', '34'],
'Destination': ['ssss', 'ssssss'],
'Flytype': ['economy', 'business'],
'Source': ['sss', 'sssss']}
字典宣称:
Name_list=[]
Age_list=[]
Source_list=[]
Destination_list=[]
Flytype_list=[]
FlightId_list=[]
Passenger_dict= {'Passenger':Name_list,
'Age':Age_list,
'Source':Source_list,
'Destination':Destination_list,
'Flytype':Flytype_list,'FlightId':FlightId_list}
请帮帮我。
Thanks in Advance
更适合存储数据的数据结构是dict
中的list
,其中每个字典代表一个乘客对象。(或者,如果某些东西对于passenger是唯一的,比如passenger_id,使用它来创建字典的字典,passenger_id
作为主字典的键)
然而,在你当前的数据结构中,你可以这样做:
-
步骤1:得到基于
中没有找到Passenger
的乘客指数。如果在列表name
,将引发ValueError
异常。passenger_index = Passenger_dict['Passenger'].index(Passenger)
-
步骤2:从所有列表中删除位于
passenger_index
索引的元素for v in Passenger_dict.values(): del v[passenger_index]