【问题标题】:How to make dictionary from one line of text with integers? [duplicate]如何从一行带有整数的文本制作字典? [复制]
【发布时间】:2021-04-14 22:36:21
【问题描述】:

我有短信a 1 b 2 c 3

如何制作一个字典,其中字母为键,数字为值?

我知道如果它在多行中我会怎么做,我不知道如果它在一行中怎么做。

【问题讨论】:

    标签: python dictionary


    【解决方案1】:

    将字符串转换为列表。然后列出字典。

    str1 = "a 1 b 2 c 3"
    lst = str1.split(" ")
    dct = {lst[i]: lst[i + 1] for i in range(0, len(lst), 2)}
    

    【讨论】:

      【解决方案2】:
      text = "a 1 b 2 c 3"
      myDictionary = {}
      for i in range(0,len(text),4):
          myDictionary[text[i]]=text[i+2]
      print(myDictionary)
      #output : {'c': '3', 'a': '1', 'b': '2'} 
      

      【讨论】:

      • 此代码不适用于问题中给出的字符串。
      • 如果你有空格,你可以使用这个,如果你有两位数的值,那么你应该检查那个,如果你没有具体说明你需要什么,那么就很难回答了。
      • 现在它可以使用问题中给出的确切字符串,但是如果涉及大于 9 的数字怎么办,例如text = "a 10 b 12 c 32"
      • 只需拆分字符串并转换为列表,这样您就可以更轻松地制作字典 myList = list(text.split())
      • 所以列表会变成 [a,12,b,45,...] 这样使用索引可以制作字典
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多