我有嵌套列表。现在,我想将其转换为字典。 在我的案例中,嵌套列表始终只包含两个项目。
list1 = [['a','b'],['c','d']]
list2=[]
for i in list1:
list2.append({'name':i[0],'value':i[1]}) //it work correct but i want to optimize that code.
o/p of above code(this i want): [{ 'name': 'a','value': 'b'}, {'name': 'c', 'value': 'd'}]
任何人都可以告诉。如何优化上面的代码。 预先感谢。
答案 0 :(得分:0)
在我看来,有这样一个字典列表是一个非常奇怪的数据结构,但是您可以像这样在性能方面有效地做到这一点:
library(BatchGetSymbols)
library(TTR)
# your code ...
rsi <- lapply(mylist, function(x) RSI(x$price.close))
head(rsi$ABT, 20)
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA 63.69235
[16] 66.10698 69.69120 70.76959 72.24900 69.41154
答案 1 :(得分:0)
使用itertools.cycle
和字典+列表理解:
from itertools import cycle
list1 = [['a','b'],['c','d']]
k = cycle(['name', 'value'])
print([{next(k): v for v in x} for x in list1])
# [{'name': 'a', 'value': 'b'}, {'name': 'c', 'value': 'd'}]
在这里,cycle
创建了一个无限迭代器,以循环方式获取项-name, value, name, value, name,...
。此迭代器上的next()
在每次迭代中都会带走价值。