函数返回两个逻辑映射为一对一的列表.假设
name = ["facebook", "twitter", "myspace"]
hits = [4000, 2500, 1800]
Run Code Online (Sandbox Code Playgroud)
因此,facebook的点击量为4000,twitter 2500和myspace 2500.
我想这两个单独的列表转换成词典列表像
[
{name: 'facebook',data: [4000]},
{name: 'twitter',data: [2500]},
{name: 'myspace',data: [1800]}
]
Run Code Online (Sandbox Code Playgroud)
我这样做的解决方案是:
data = [
{"name":l, "data":[v]}
for idx1, l in enumerate(labels)
for idx2, v in enumerate(values)
if idx1 == idx2
]
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方式来处理逻辑一对一映射或我的解决方案是否准确?
Gre*_*ill 13
你可以这样做:
[{"name": n, "data": [h]} for n, h in zip(name, hits)]
Run Code Online (Sandbox Code Playgroud)
虽然这符合您的要求,但这里的数据结构可能比您真正需要的更多.考虑:
>>> dict(zip(name, hits))
{'twitter': 2500, 'myspace': 1800, 'facebook': 4000}
Run Code Online (Sandbox Code Playgroud)
这在易于访问的数据结构中提供相同的数据集.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |