我想用Python制作摩尔斯电码,所以我尝试了以下内容:
L = [(2, 1), (8, 4, 2, 1)]
data = "00:1:02"
data = [(x[:1], x[1:]) for x in data.split(':') ]
for [a,b] in data:
if b=="": b, a = a, '0'
#print(a,b)
现在,我正在寻找一种简单的方法来循环遍历L
列表中的两个元组并将它们分开以使a
通过L[0]
元组和{{1}传递b
元组。
在一个for循环中有类似的东西:
L[1]
我试过一些联合收割机,但我找不到合适的语法。任何人都可以提出任何建议吗?
答案 0 :(得分:3)
如果您想同时迭代L[0]
和L[1]
,可以使用:
for a, b in itertools.izip_longest(L[0], L[1]):
print a, b
上述内容会将a
设置为None
,因为L[1]
的长度超过L[0]
,因此L[1]
中的值会比L[0]
中的值更多。 {1}}。这给出了:
2 8
1 4
None 2
None 1