重复基于另一个列表的列表元素

Repeat list elements based in another list

我想在第二个列表中重复一个列表中的元素,如下所示:

i = 0
j = [1, 4, 10]
z = [11.65, 11.69, 11.71]
for x in j:
    while i <= x:
        print(x)
        i += 1

我得到了这个结果:

1
1
4
4
4
10
10
10
10
10
10

我想得到这个结果:

11.65
11.65
11.69
11.69
11.69
11.71
11.71
11.71
11.71
11.71
11.71

您可以使用 zip 在两个列表上一起迭代,然后增加 i 直到达到当前值的边界

i = 0
j = [1, 4, 10]
z = [11.65, 11.69, 11.71]
for bound, value in zip(j, z):
    while i <= bound:
        print(value)
        i += 1
j = [1, 4, 10]
z = [11.65, 11.69, 11.71]
for i in range(len(j)): #assuming the lenth of both list is always the same
    for k in range(j[i]):
        print(z[i])

你的意思是这样的吗?

有一个 1、4 和 10

所以打印 z 中的第一个项目 1 次,第二个项目 4 次,第三个项目 10 次?