【问题标题】:Adding few values into a single value in a dictionary将几个值添加到字典中的单个值中
【发布时间】:2011-11-27 15:39:33
【问题描述】:

我有一个字典,其中字符串作为键,字符串列表作为值。如何将附加字符串附加到给定键?

例如,给定:

dic = {"i'm": ['the']}

我想将字符串“boss”附加到存储在“i'm”下的字符串列表中,即:

dic = {"i'm": ['the','boss']}

【问题讨论】:

    标签: python string list key


    【解决方案1】:

    假设密钥在字典中,那么简单的解决方案已经多次显示:

    dic["i'm"].append("boss")
    

    如果该键可能不在字典中,请先使用if key in dic 检查,使用dic.setdefault,或使用defaultdict。对于您正在考虑的情况,defaultdict 几乎存在:

    import collections
    dd = collections.defaultdict(list)
    dd["i'm"].append("the")
    dd["i'm"].append("boss")
    print dd # defaultdict(<type 'list'>, {"i'm": ['the', 'boss']})
    

    【讨论】:

      【解决方案2】:
      dic["i'm"].append("boss")
      

      因为dic["i'm"] 是列表,而您想追加到该列表中。

      【讨论】:

        【解决方案3】:

        您可以通过以下方式实现:

        dic["i'm"].append('boss')
        

        【讨论】:

          【解决方案4】:

          如果有机会(...几乎总是存在,除非您已经先检查了是否存在并且没有在此处包含该代码)您要查找的密钥尚未添加到字典中,只执行类似的代码

          dic["i'm"].append('boss')
          

          将引发KeyError 异常。为了保护自己,您应该将代码包装在 try/except 块中,或者使用 dict 的 setdefault 方法来确保首先有一个空列表,例如:

          dic.setdefault("i'm", []).append('boss')
          

          如果dic 已经包含键“I'm”的列表,则返回该列表。如果没有,setdefault 首先将一个空列表添加到字典并返回它。然后,您将追加到已经存在或刚刚为您创建的列表中。

          【讨论】:

            【解决方案5】:

            您只需要追加到列表中。首先,获取列表,然后追加:

            lst = dic["i'm"]
            lst.append("boss")
            

            或者您可以一步完成:

            dic["i'm"].append('boss')
            

            【讨论】:

              猜你喜欢
              • 2023-03-31
              • 1970-01-01
              • 2019-08-22
              • 2020-08-05
              • 2022-07-10
              • 1970-01-01
              • 1970-01-01
              • 2018-01-24
              • 2022-01-23
              相关资源
              最近更新 更多