2016-10-25 84 views
-1

我在生成列表方面很弱。请帮我,我怎么可能会得到这样的结构:列表生成器

cash = [[01110101010, {'01110101010100010000000110010100': 1477317843.506, '01110101010100010000000110010101': 1477317843.906}], 01110101011, {'01110101011100010000000110010100': 1477317843.506, '01110101011100010000000110010101': 1477317843.906}]] 

例如: 的现金布洛赫: 块[0] [0]是01110101010,它始终是等于在第11号每个键的适当的字典。如果键在这种情况下,添加其第一11个数字等于块[I] [0]

从该狭窄:

cash = [[01110101010, {'01110101010100010000000110010100': 1477317843.506}], [01110101010, {'01110101010100010000000110010101': 1477317843.906}], [01110101011, {'01110101011100010000000110010100': 1477317843.506}], [01110101011 {'01110101011100010000000110010101': 1477317843.906}]] 

例如: 用于现金布洛赫: 块[0] [0 ]是01110101010,它总是等于适当字典中所有键的前11个。

+0

欢迎堆栈溢出。请编辑您的问题,并告诉您正在使用哪种编程语言,或者正确设置标签。谢谢。 – Uwe

回答

0

假设你使用Python(通过看你的数据结构)如下解决方案workd你

注:我编辑了自己的输入,使第一个元素为字符串,因为从0开始的数字被解释为八进制,我认为这是不whay你可能要

cash = [ 
    ['01110101010',{'01110101010100010000000110010100': 1477317843.506}], 
    ['01110101010', {'01110101010100010000000110010101': 1477317843.906}], 
    ['01110101011', {'01110101011100010000000110010100': 1477317843.506}], 
    ['01110101011', {'01110101011100010000000110010101': 1477317843.906}] 
] 

op = dict() 
for entry in cash: 
    key = entry[0] 
    value = entry[1] 
    op.setdefault(key,{}) 
    op[key].update(value) 

下面OP应该没问题你

{ 
    '01110101011': {'01110101011100010000000110010101': 1477317843.906, '01110101011100010000000110010100': 1477317843.506}, 
    '01110101010': {'01110101010100010000000110010100': 1477317843.506, '01110101010100010000000110010101': 1477317843.906} 
} 

但是如果你坚持名单,然后

op_list = [] 
for key in op.keys(): 
    op_list.append([key, op[key]]) 

会给你下面的格式**

[ 
    ['01110101011', {'01110101011100010000000110010101': 1477317843.906, '01110101011100010000000110010100': 1477317843.506}], 
    ['01110101010', {'01110101010100010000000110010100': 1477317843.506, '01110101010100010000000110010101': 1477317843.906}] 
]