我是 Python 新手,正在编写航班预订系统程序。我在删除乘客详细信息时遇到了删除问题,因为我有包含多个键的字典,并且键的值位于单独的单独列表中。
我尝试了多种使用 pop 函数的方法,它只删除特定的 Key 和相应的值
如何用不同的键删除Passenger Detail的所有值。
例如:是用户输入'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}
请帮忙解决这个问题。
提前致谢
答案 0 :(得分:1)
更好的数据结构来存储您的数据将是 list
个 dict
,其中每个 dict 将代表一个乘客对象。 (或者,如果某些东西对乘客来说是独一无二的,例如 passenger_id,请使用它来创建字典的字典,其中 passenger_id
作为主字典的键)
但是,在您当前的数据结构中,您可以执行以下操作:
第 1 步: 根据 Passenger
获取乘客索引。如果在列表中找不到 ValueError
,它将引发 name
异常
passenger_index = Passenger_dict['Passenger'].index(Passenger)
第 2 步:从所有列表中删除 passenger_index
索引处的元素
for v in Passenger_dict.values():
del v[passenger_index]