Python 我需要打印两个列表,每次50个字符,在列表之间交替打印
我有两个列表,其中一个基于另一个。我想从每个列表中每行打印50个项目,在列表之间交替打印。我能用一个列表得到它,但引入第二个列表,前后交替,我搞不清楚。到目前为止,我有以下几点:Python 我需要打印两个列表,每次50个字符,在列表之间交替打印,python,python-3.x,list,traversal,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 我希望这能让事情
while idx < len(_back_check):
print (_back_check[idx], end="")
if ((idx > 0) and (idx % 50 == 0)):
print() break;
idx +=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
for i in range(0, len(first_list), 50):
print(*first_list[i:i+50])
print(*second_list[i:i+50])
比@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="")
请发布您现在拥有的代码。此外,如果您是新成员,请查看并细化您的问题。而idx0)和(idx%50==0)):print()break;idx+=1'@AliMojabi请在您的评论中添加正确格式的代码到您的原始帖子中。使用缩进来创建代码块。这还不够。我已经试过了zip()
,但它只包含列表中的列,而不包含行。另外,我的列表每个都有6000个项目,所以我需要打印约120 x 2行。这几乎就在那里,但当它附加到d1
和d2
时,列表会越来越长,然后在下一轮打印整个列表。由于之后没有冒号,如果不算%50
我确实在电话中回答了。但是现在检查一下,我想现在代码可以按照您的要求工作了。非常感谢!你能告诉我如何去掉字母之间的空格吗?我知道*
用逗号和撇号,但还是有空格。@AliMojabi你可以使用打印(*first_list[I:I+50],sep=”“)
巧妙,我花了几秒钟才弄明白你为什么要做范围(0,len(first_list),50):
,但我现在看到它是如何与你在列表中设置的范围相联系的。谢谢
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="")