【发布时间】:2019-08-10 22:39:15
【问题描述】:
由于我要处理大量数据,因此我正在尝试找到最符合 Python 标准的方法来在尽可能短的时间内解决我的问题。我的问题如下:
我有两个列表
a = [12,34,674,2,0,5,6,8]
b = ['foo','bar','bar','foo','foo','bar','foo','foo']
我想说python:如果'bar'在b中,则取所有索引并将列表a中的所有值与这些索引相加。
这是我到目前为止所做的:
idx = [i for i, j in enumerate(a) if j == 'bar']
但后来我被堆叠了。我正在考虑使用一些有线 for 循环。你有什么想法吗?
【问题讨论】:
-
sum([a[i] for i, j in enumerate(b) if j == 'bar'] ).. ?
标签: python arrays pandas list numpy