小编use*_*731的帖子

创建单个列表项的列表乘以n次

我是Python的新手,并认为这应该是一个相当普遍的问题,但无法找到解决方案.我已经看过这个页面,发现它对一个项目很有帮助,但我很难将示例扩展到多个项目而不使用'for'循环.我正在通过Emcee为250名步行者运行这段代码,所以我正在寻找最快的方法.

我有一个数字列表a = [x,y,z],我想重复b = [1,2,3]一次(例如),所以我最终得到一个列表列表:

[
 [x],
 [y,y],
 [z,z,z]
]
Run Code Online (Sandbox Code Playgroud)

我的'for'循环是:

c = [ ]
for i in range (0,len(a)):
    c.append([a[i]]*b[i])
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,但意味着我的代码极其缓慢.我也尝试过天真地将a和b转换为数组并[a]*b希望它能够逐个元素地增加,但没有快乐.

python arrays loops list emcee

11
推荐指数
1
解决办法
455
查看次数

标签 统计

arrays ×1

emcee ×1

list ×1

loops ×1

python ×1