0

我想用 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]元组和b通过L[1]元组。

在一个 for 循环中有类似的东西:

for A in l[0], B in l[1]:

#A to do somethings with a and 
#B to do something with b

我尝试了一些组合,但没有找到正确的语法。任何人都可以提供任何建议吗?

4

1 回答 1

3

如果你想迭代,L[0]同时L[1]你可以使用:

for a, b in itertools.izip_longest(L[0], L[1]):
    print a, b

以上将设置aNoneas比 inL[1]更长L[0],因此 inL[1]迭代的值比 in更多L[0]。这给出了:

2 8
1 4
None 2
None 1
于 2013-11-06T16:52:30.287 回答