Python将列表中的字典项添加到字典中

时间:2020-08-27 18:13:00

标签: python list dictionary

说我有一个列表my_list,其中包含字典项形式的元素,我想将这些项添加到实际字典中,这是最有效的方法它吗?

my_list = ["1: 'one'", "2: 'two'"]
my_dict =  {}

编辑:这是我能想到的最佳解决方案。

my_str = '''
0 = zero
1 = one
'''
import re

pattern = re.compile(r'(\d{1,2})(\s.\s)(.{2,})')
replaced = pattern.sub('\\1' + ':' + r'"\3"', my_str)
list_of_elements = replaced.split('\n')
list_of_elements = list_of_elements[1:-1]
example_dict = {}

for i in list_of_elements:
  x = i.split(':')
  example_dict.update({int(x[0]): x[1].replace('"', '')})

2 个答案:

答案 0 :(得分:3)

尝试此操作,用':'分割字符串,然后将str号转换为int并从字符串中删除“'”。基本上就是这样:

my_list = ["1: 'one'", "2: 'two'"]

my_dict =  {}

for j in my_list:
    i = j.split(': ')
    my_dict[int(i[0])] = i[1].replace("'", '')

希望这对您有所帮助!

答案 1 :(得分:1)

有些选项:

# Zip method
my_list = ["1: 'one'", "2: 'two'"]
elements = iter(my_list)
my_dict = dict(zip(elements, elements))

# Dictionay comprehension method
my_dict2 = {my_list[i]: my_list[i + 1] for i in range(0, len(my_list), 2)}
    
print(my_dict)  # {"1: 'one'": "2: 'two'"}
print(my_dict2)   # {"1: 'one'": "2: 'two'"}