嵌套循环Python
我想打印出一列文本,我正在尝试通过for循环来完成这项工作。我试着用这个:嵌套循环Python,python,loops,data-structures,nested,Python,Loops,Data Structures,Nested,我想打印出一列文本,我正在尝试通过for循环来完成这项工作。我试着用这个: a = 0 while a<58: for x in Char[a],Numb[a]: print (x) a+=2 您可以使用和for循环: >>> import string >>> for i,j in enumerate(string.ascii_uppercase,1) : ... print j,'\t',i #in pytho
a = 0
while a<58:
for x in Char[a],Numb[a]:
print (x)
a+=2
您可以使用和for
循环:
>>> import string
>>> for i,j in enumerate(string.ascii_uppercase,1) :
... print j,'\t',i #in python 3 print (j,'\t',i)
...
A 1
B 2
C 3
D 4
E 5
F 6
G 7
H 8
I 9
J 10
K 11
L 12
M 13
N 14
O 15
P 16
Q 17
R 18
S 19
T 20
U 21
V 22
W 23
X 24
Y 25
Z 26
假设您的两个列表有如下数据,那么下面的代码将实现这一技巧
# for python3
Char=['A', 'B', 'C', 'D', 'E'] # these lists can have as many elements as you want
Numb=[1,2,3,4,5]
for x,y in zip(Char, Numb): #zip stops when the shorter list ends
print (x +" "+ str(y) )
输出
sh-4.2# python3 main.py
A 1
B 2
C 3
D 4
E 5
一些评论:
a,b=(1,2)
)\t
(选项卡的ASCII符号)import string
chars = string.ascii_uppercase
digits = string.digits
for a in range(0, min(len(chars), len(digits)), 2):
for char, digit in zip(chars[a], digits[a]):
print("{0:>3} {1:>3}".format(char, digit))
像{i:>n}
这样的格式化选项意味着:
:右对齐(您不需要它。您也可以使用>>> import string >>> for i,j in enumerate(string.ascii_uppercase,1) : ... print j,'\t',i #in python 3 print (j,'\t',i) ... A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J 10 K 11 L 12 M 13 N 14 O 15 P 16 Q 17 R 18 S 19 T 20 U 21 V 22 W 23 X 24 Y 25 Z 26
# for python3 Char=['A', 'B', 'C', 'D', 'E'] # these lists can have as many elements as you want Numb=[1,2,3,4,5] for x,y in zip(Char, Numb): #zip stops when the shorter list ends print (x +" "+ str(y) )
sh-4.2# python3 main.py A 1 B 2 C 3 D 4 E 5
import string chars = string.ascii_uppercase digits = string.digits for a in range(0, min(len(chars), len(digits)), 2): for char, digit in zip(chars[a], digits[a]): print("{0:>3} {1:>3}".format(char, digit))
import string chars = string.ascii_uppercase digits = string.digits headers = ["chars", "digits"] sizes = [(len(el) + 2) for el in headers] formatter = "{0:>" + str(sizes[0]) + "} {1:>" + str(sizes[1]) + "}" print(formatter.format(*headers)) print("-"*(sum(sizes) + len(sizes))) for a in range(0, min(len(chars), len(digits)), 2): for char, digit in zip(chars[a], digits[a]): print(formatter.format(char, digit))
chars digits ----------------- A 0 C 2 E 4 G 6 I 8