在我的Python代码,我有2所列出Python的清单2只列出了子弹形
myList = ["Example", "Example2", "Example3"]
mySecondList = ["0000", "1111", "2222"]
我需要打印这些让他们看起来像这样:
- Example 0000
- Example2 1111
- Example3 2222
有什么办法来实现这个?
在我的Python代码,我有2所列出Python的清单2只列出了子弹形
myList = ["Example", "Example2", "Example3"]
mySecondList = ["0000", "1111", "2222"]
我需要打印这些让他们看起来像这样:
- Example 0000
- Example2 1111
- Example3 2222
有什么办法来实现这个?
是的,找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_longest
或zip_longest
从itertools
模块在您使用的蟒蛇版本
我会推荐使用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相当。
是的,有很多方法。你有尝试过吗? – SiHa