【发布时间】:2018-11-19 02:16:43
【问题描述】:
例如
a = ['1', '2', '3', '4', '5', '6']
b = [[(1, 0.5), (2, 0.8)], [(4, 0.11), (6, 0.23)]]
我想得到一个矩阵c:
c = [0.5, 0.8, 0, 0.11, 0, 0]
这就像如果a中的i = ww for ww,ee in n for n in b,则替换为ee else 0
我尝试了一些 if 和 else 命令,这是我的代码
for n in b:
for t,y in n:
for tt in a:
mmm = [y if t == ''.join(tt) else ''.join(tt)]
print(mmm)
但它失败了。我应该如何针对这种情况编写代码?
【问题讨论】:
-
c中的最后一个值不应该是0.23吗? -
[dict(sum(b,[])).get(int(i),0) for i in a]
标签: python python-3.x numpy if-statement replace