有以下两个清单:
sist = ["item1", "item2", "item3"]
numbers = [2,1,4]
Run Code Online (Sandbox Code Playgroud)
我想打印sist相同索引的次数的元素numbers.
这意味着在发布的示例中,我想要的输出是:
item1
item1
item2
item3
item3
item3
item3
Run Code Online (Sandbox Code Playgroud)
这是我尝试过没有成功的事情:
for idx in xrange(len(sist)):
for num in numbers:
i = 0
print num
while i < num:
print sist[idx]
i = i + 1
Run Code Online (Sandbox Code Playgroud)
我想我正在以错误的方式迭代,因为我得到了这个输出:
2
item1
item1
1
item1
4
item1
item1
item1
item1
2
item2
item2
1
item2
4
item2
item2
item2
item2
2
item3
item3
1
item3
4
item3
item3
item3
item3
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我做错了什么以及如何解决它?
如果您想使用这样的嵌套for循环,您可以这样做
for item, rep in zip(sist, numbers):
for _ in range(rep):
print(item)
Run Code Online (Sandbox Code Playgroud)
产量
item1
item1
item2
item3
item3
item3
item3
Run Code Online (Sandbox Code Playgroud)
你可以使用zip函数将两个列表连接到它们对应的索引,然后打印第一个元素(来自sist)作为第二个元素的次数(来自数字)
sist = ["item1", "item2", "item3"]
numbers = [2,1,4]
for x, y in zip(sist, numbers):
for _ in range(y):
print(x)
Run Code Online (Sandbox Code Playgroud)
输出是 -
item1
item1
item2
item3
item3
item3
item3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |