Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用for循环和嵌套循环_Python_For Loop_Printing_Nested Loops - Fatal编程技术网

在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]
可以正常工作。