2017-06-07 18 views
1

在我的Python代码,我有2所列出Python的清单2只列出了子弹形

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

我需要打印这些让他们看起来像这样:

- Example 0000 
- Example2 1111 
- Example3 2222 

有什么办法来实现这个?

+0

是的,有很多方法。你有尝试过吗? – SiHa

回答

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 

以上会工作,如果列表具有相同的大小,否则你应该根据调查izip_longestzip_longestitertools模块在您使用的蟒蛇版本

0

我会推荐使用zip()zip_longest()为您的问题。

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

下面是一个例子:

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 

此外,您还可以看看的zip()official documentation相当。