说我有一个列表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('"', '')})
答案 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'"}