如何在 Python 中按顺序打印列表中的字符串?
How to print strings from a list in sequence in Python?
假设一个列表:s = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
我了解如何打印列表中的每一项:
for i in s:
print (i)
给出:
A
B
C
D
E
F
G
H
I
J
但假设我想根据 n
拆分打印。所以如果 n = 3
:
A
B
C
D
E
F
G
H
I
J
这些是我的尝试:
k = 0
for i in s:
while k < n:
k += 1
print (i)
和
k = 0
while k < n:
for i in s:
print (i)
k += 1
我知道我的尝试还有很长的路要走,但我似乎做不到。
我知道您可以根据 n
创建子列表并以这种方式解决它,但是有没有其他方法可以做到这一点?
k = 0
for i in s:
if k == n-1:
print i + '\n'
k = 0
else:
print i
k += 1
>>> s = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
>>> n=3
>>> print('\n\n'.join(['\n'.join(s[i:i+n]) for i in range(0,len(s),n)]))
A
B
C
D
E
F
G
H
I
J
假设一个列表:s = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
我了解如何打印列表中的每一项:
for i in s:
print (i)
给出:
A
B
C
D
E
F
G
H
I
J
但假设我想根据 n
拆分打印。所以如果 n = 3
:
A
B
C
D
E
F
G
H
I
J
这些是我的尝试:
k = 0
for i in s:
while k < n:
k += 1
print (i)
和
k = 0
while k < n:
for i in s:
print (i)
k += 1
我知道我的尝试还有很长的路要走,但我似乎做不到。
我知道您可以根据 n
创建子列表并以这种方式解决它,但是有没有其他方法可以做到这一点?
k = 0
for i in s:
if k == n-1:
print i + '\n'
k = 0
else:
print i
k += 1
>>> s = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
>>> n=3
>>> print('\n\n'.join(['\n'.join(s[i:i+n]) for i in range(0,len(s),n)]))
A
B
C
D
E
F
G
H
I
J