我需要打印两个列表,一次50个字符,在列表之间交替

时间:2017-10-05 20:12:57

标签: python python-3.x list traversal

我有两个列表,一个基于另一个。我想从每个列表中打印50个项目/行,在列表之间交替。我可以用一个列表来获取它,但是引入第二个列表,并且来回交替我无法弄清楚。到目前为止,我有这个:

while idx < len(_back_check):
    print (_back_check[idx], end="") 
    if ((idx > 0) and (idx % 50 == 0)): 
        print() break; 
    idx +=1

例如,如果我有2个列表,l1=[.......]l2=[........],我需要输出:

l1[0]-l1[49]
l2[0]-l2[49]
l1[50]-l1[99]
l2[50]-l2[99]
l1[100]-l1[149]......

我希望这更清楚。

3 个答案:

答案 0 :(得分:0)

假设您有两个相同大小的first_listsecond_list列表:

for i in range(0, len(first_list), 50):
    print(*first_list[i:i+50])
    print(*second_list[i:i+50])

答案 1 :(得分:0)

比@AlirezaMika更长的解决方案,但可以动态处理任意数量的并行列表:

l1 = 'A' * 1035
l2 = 'B' * len(l1)
l3 = 'C' * len(l1)

my_lists = [l1, l2, l3]

SEGMENT = 50

for index in range(0, len(my_lists[0]), SEGMENT):
    for offset in range(len(my_lists)):
        my_list = my_lists[offset]
        print(*my_list[index:index + SEGMENT], sep="")

答案 2 :(得分:-1)

list1 = ['a', 'b', 'c', 'd',....]
list2 = ['1', '2', '3', '4', ...]
count = 0
d1 = []
d2 = []
for l1, l2 in zip(list1, list2):
    d1.append(l1)
    d2.append(l2)
    count += 1
    if not count % 50:
        print(",".join(d1))
        print(",".join(d2))
        d1 = []
        d2 = []

Output:
a,b,c,d,e,f, .... 50th
1,2,3,4,5,6 ..... 50th

Again it will show next 50 items 

Totals rows: 120x2