如何使用两个列表作为循环python

2024-06-25 06:24:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子

num = [1,2,3,4]
names = ['shiva','naga','sharath','krishna','pavan','adi','mulagala']

我想并行打印两个列表,如果一个列表(num)结束,我想重复第一个列表(num)直到第二个(names)列表结束。在

现在我希望输出为

^{pr2}$

Tags: 列表namesnum单子adinagapr2krishna
3条回答

您需要使用itertools.cycle和{a2}的组合。例如:

>>> num = [1,2,3,4]
>>> names = ['shiva','naga','sharath','krishna','pavan','adi','mulagala']
>>> import itertools
>>> list(itertools.izip(itertools.cycle(num), names))
[(1, 'shiva'), (2, 'naga'), (3, 'sharath'), (4, 'krishna'), (1, 'pavan'), (2, 'adi'), (3, 'mulagala')]

列表(循环('ABC','D','EF'))

输出:['A'、'D'、'E'、'B'、'F'、'C']

from itertools import chain, izip_longest
def roundrobin(*iterables):
    sentinel = object()
    return (x for x in chain(*izip_longest(fillvalue=sentinel, *iterables)) if x is not sentinel)

使用^{}^{}

>>> num = [1,2,3,4]
>>> names = ['shiva','naga','sharath','krishna','pavan','adi','mulagala']
>>> import itertools
>>> for i, name in zip(itertools.cycle(num), names):
...     print('{} for {}'.format(i, name))
...
1 for shiva
2 for naga
3 for sharath
4 for krishna
1 for pavan
2 for adi
3 for mulagala

相关问题 更多 >