微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从字典中删除具有不同键的对应值

如何解决从字典中删除具有不同键的对应值

我是 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}

请帮忙解决这个问题。

提前致谢

解决方法

更好的数据结构来存储您的数据将是 listdict,其中每个 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]
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。