假设有一个列表:['1604780184', '10', '1604780194', '0', '1604780319', '99', '1604780320', '0']
您需要获得类似{'1604780184': '10', '1604780194': '0', '1604780319': '99', '1604780320': '0'}
现在我有:
rline = ['1604780184', '10', '1604780194', '0', '1604780319', '99', '1604780320', '0']
total = {}
print(f"My list: {rline}")
while rline:
total[rline[0:2][0]] = rline[0:2][1]
del rline[0:2]
print(f"Dictionary: {total}")
请提出更好的建议。谢谢。
答案 0 :(得分:6)
最简洁(也可能是最好)的方式可能是:
type LocalizedTripJustTitle = LocalizedType<Trip, "title">
/* type LocalizedTripJustTitle = {
id: number;
title_en: string;
title_de: string;
title_el: string;
title_fr: string;
description: string;
featured: boolean;
} */
它的实际作用是利用列表遵循的某些模式和一些内置函数!由于每个偶数索引都是一个将要存在的值,而奇数索引是一个将成为关键的键,因此更容易将它们分割和分离。然后,您可以使用result = dict(zip(lst[::2], lst[1::2]))
形成这些分隔值的集合,然后调用zip()
构造函数从中取出字典!
答案 1 :(得分:3)
我不喜欢在迭代列表时更改列表。我更喜欢这样:
i = 0
while i < len(rline):
total[rline[i]] = rline[i+1]
i = i + 2
print(f"Dictionary: {total}")