我有一个像
这样的字典列表b = {'z': 200, 'y': 100, 'x': 50}
和第二个字典,如
a = [{name: 'x', 'hour':35, 'unit': 500, 'b': 50},
{name: 'y', 'hour': 40, 'unit': 600, 'b': 100},
{name: 'z', 'hour': 50, 'unit': 700, 'b': 200},
{name: 'z', 'hour': 20, 'unit': 400, 'b': 200},
{name: 'x', 'hour': 40, 'unit': 500, 'b': 50}]
有什么方法可以将第二个字典分配到第一个字典,这样我就可以产生像
这样的结果[50, 100, 200, 200, 50]
或至少像
这样的列表#one {
background-color: #ddd;
color: black;
border-radius: 2px;
position: relative;
padding: 2px;
width:200px;
height:80px;
padding-right: 15px; /* make up for the triangle so inner content does not overlap */
}
#one:after {
content: ' ';
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 10px 15px 10px;
border-color: transparent transparent #f00 transparent;
}
答案 0 :(得分:4)
您可以使用以下方法:
>>> for sub in a:
... sub['b'] = b.get(sub['name'], None)
...
>>> a
[{'unit': 500, 'b': 50, 'name': 'x', 'hour': 35},
{'unit': 600, 'b': 100, 'name': 'y', 'hour': 40},
{'unit': 700, 'b': 200, 'name': 'z', 'hour': 50},
{'unit': 400, 'b': 200, 'name': 'z', 'hour': 20},
{'unit': 500, 'b': 50, 'name': 'x', 'hour': 40}]
>>>
答案 1 :(得分:0)
@Kasramvd回答了你的第一部分。如果你想要第二部分,
>>> [b[i['name']] for i in a]
[50, 100, 200, 200, 50]