如何同时循环不同的列表?

时间:2014-03-11 22:08:44

标签: python string list loops

我正在尝试遍历字符串列表:

someplace["Canada", "USA", "England"]

for charNum in range(len(lst)): #charNum the length of the characters
    print(lst[charNum])

for country in range(len([charNum])): #country is the the string
   print(lst[charNum][country])

我想要实现的输出是:

c  U  E
a  S  n
n  A  g
a     l 
d     a 
a     n
      d

更多详情:

for k in range(len(lst[0])):
    print(lst[0][k])

如果运行它会打印出来

   c
   a
   n
   a
   d
   a

这是因为它获得了索引0的长度。但我必须循环遍历其他数字:0,1,2。

我创造了一个嵌套的for循环:

for i in range(len(lst)):  # length of list
    for j in range(len(lst[i])): # length of each string
        print(lst[i][j])

3 个答案:

答案 0 :(得分:4)

使用itertools.izip_longest同时循环所有

from itertools import izip_longest  # zip_longest in python 3
places = ["Canada", "USA", "England"]
for chars in izip_longest(*places, fillvalue=' '):
    print(' '.join(chars))

输出:

C U E
a S n
n A g
a   l
d   a
a   n
    d

流程:

izip_longest的输出是:

[('C', 'U', 'E'), ('a', 'S', 'n'), ('n', 'A', 'g'), ('a', ' ', 'l'), ('d', ' ', 'a'), ('a', ' ', 'n'), (' ', ' ', 'd')]

for循环然后按顺序将每个“行”分配给chars,从('C', 'U', 'E')

开始

' '.join(chars)将该元组组合成一个字符串,每个列表成员之间有空格。对于第一个元素,那将是'C U E'

答案 1 :(得分:0)

要列出一个列表,你需要一个。

my_list = ["Paris"]

答案 2 :(得分:-1)

  SomePlaces = ['Canada', 'USA',  'England'] //Array
  for SomePlaces in range(len(lst)):
   print 'Places :', lst[SomePlaces]

注意:我没有测试过,对不起,如果我错了。