Python清单2子弹表单列表

时间:2017-06-07 11:25:27

标签: python arrays list

在我的python代码中,我有2个列表

myList = ["Example", "Example2", "Example3"]
mySecondList = ["0000", "1111", "2222"]

我需要打印这些,所以它们看起来像这样:

- Example 0000
- Example2 1111
- Example3 2222

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:5)

是的,请查找zip

myList = ["Example", "Example2", "Example3"]
mySecondList = ["0000", "1111", "2222"]

for a, b in zip(myList, mySecondList):
    print("- {} {}".format(a, b))
- Example 0000
- Example2 1111
- Example3 2222

如果列表大小相同,则上述方法有效,否则您应该从itertools模块查看izip_longestzip_longest,具体取决于您使用的python版本< / p>

答案 1 :(得分:0)

我建议您使用zip()zip_longest()来解决问题。

但是,不使用任何built-in模块/函数。您可以使用自己非常类似于zip()函数的方法创建自己的“hacky”方法。

以下是一个例子:

def custom_zip(a, b, fill=None):
    length = max(len(a), len(b))
    for k in range(length):
        if k > len(a):
            yield fill, b[k]
        elif k > len(b):
            yield a[k], fill
        else:
            yield a[k], b[k]

a = ["Example", "Example2", "Example3"]
b = ["0000", "1111", "2222"]

for k, v in custom_zip(a,b):
    print("- {} {}".format(k, v))

输出:

- Example 0000
- Example2 1111
- Example3 2222

另外,您可以查看official documentationzip()的等效内容。