在python中使用for循环和嵌套循环
我需要在单独的一行上打印每个元素的原子序数和重量,在名称和原子序数和重量之间有一个冒号,但是,它每打印三次,我理解为什么,但不知道如何纠正它。帮助 以下是我使用的代码:在python中使用for循环和嵌套循环,python,for-loop,printing,nested-loops,Python,For Loop,Printing,Nested Loops,我需要在单独的一行上打印每个元素的原子序数和重量,在名称和原子序数和重量之间有一个冒号,但是,它每打印三次,我理解为什么,但不知道如何纠正它。帮助 以下是我使用的代码: elements = [['beryllium', 4, 9.012], ['magnesium', 12, 24.305], ['calcium', 20, 40.078], ['strontium', 38, 87.620], ['barium', 56, 137.327], ['radium', 88, 266.000]]
elements = [['beryllium', 4, 9.012], ['magnesium', 12, 24.305], ['calcium', 20, 40.078], ['strontium', 38, 87.620], ['barium', 56, 137.327], ['radium', 88, 266.000]]
for x in elements:
for i in x:
print str(x[0]), ':', str(x[1]), str(x[2])
您正在3个嵌套元素上循环;只需删除的嵌套
:
for x in elements:
print str(x[0]), ':', str(x[1]), str(x[2])
您还可以让Python将元素解压为单独的名称;注意,这里不需要显式的str()
调用,因为您没有连接这些值;让print
为您将值转换为字符串:
for name, number, weight in elements:
print name, ':', number, weight
接下来,使用以获得对输出的更多控制:
for name, number, weight in elements:
print '{:>10}: {:3d} {:7.3f}'.format(name, number, weight)
您可以得到格式良好的输出:
>>> for name, number, weight in elements:
... print '{:>10}: {:3d} {:7.3f}'.format(name, number, weight)
...
beryllium: 4 9.012
magnesium: 12 24.305
calcium: 20 40.078
strontium: 38 87.620
barium: 56 137.327
radium: 88 266.000
您正在3个嵌套元素上循环;只需删除
的嵌套:
for x in elements:
print str(x[0]), ':', str(x[1]), str(x[2])
您还可以让Python将元素解压为单独的名称;注意,这里不需要显式的str()
调用,因为您没有连接这些值;让print
为您将值转换为字符串:
for name, number, weight in elements:
print name, ':', number, weight
接下来,使用以获得对输出的更多控制:
for name, number, weight in elements:
print '{:>10}: {:3d} {:7.3f}'.format(name, number, weight)
您可以得到格式良好的输出:
>>> for name, number, weight in elements:
... print '{:>10}: {:3d} {:7.3f}'.format(name, number, weight)
...
beryllium: 4 9.012
magnesium: 12 24.305
calcium: 20 40.078
strontium: 38 87.620
barium: 56 137.327
radium: 88 266.000
为什么在x:
行中有i的额外?除了让代码重复三次之外,它似乎什么也不做。仅此而已,您不需要对要打印的每个项目调用str
。执行打印x[0],':',x[1],x[2]
可以。为什么在x:
行中有额外的用于i?除了让代码重复三次之外,它似乎什么也不做。仅此而已,您不需要对要打印的每个项目调用str
。执行打印x[0],':',x[1],x[2]
可以正常工作。