[英]Python for loop iteration and access over a list of list
输入以下代码:
array = [[0, 2], [3, 4]]
for i in array:
print '%d' % i[0][0]
我收到错误消息: TypeError: 'int' object has no attribute '__getitem__'
但是,如果我更改为print'%d' %i
则会收到错误消息: TypeError: %d format: a number is required, not list
我应该如何遍历数组并打印每个子数组的第一个和第二个值?
谢谢
i
是一维的。 因此:
print '%d' % i[0]
PS。 目前尚不清楚您想要的输出是什么。 此解决方案将打印每个列表的第一个元素。
array = [[0, 2], [3, 4]]
for sub_array in array:
print sub_array[0], sub_array[1]
甚至更好:
array = [[0, 2], [3, 4]]
for sub_array in array:
print sub_array
您要print '%d %d' % (i[0], i[1])
首先,声明for x in y
环比y
和及受让人x
中的值y
您目前循环的如y = [1, 2, 3] for x in y: print x
会给输出:1因此,在您的情况下为2 3 4 array = [[0, 2], [3, 4]] for i in array: print '%d' % i[0][0] """ i is [0, 2] on the first iteration making i[0] = 0 i[0][0] -> TypeError: %d format: a number is required, not list changing this to i would obvious lead to i being a list that you're attempting to assign as a number -> TypeError: %d format: a number is required, not list """
您真正想做的是停在i[0]
处编写代码: array = [[0, 2], [3, 4]] for i in array: print '%d' % i[0]
至于您的问题,如何遍历数组并打印值,那么您可以执行以下操作: array = [[0, 2], [3, 4]] for subarray in array: for element in subarray: print element
如果您想保持循环,可以执行以下操作:
array = [[0, 2], [3, 4]]
for i in array:
print '%d' % i[0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.