在Python中,如何在另一个数组中循环一个数组的长度?

在Python中,如何在另一个数组中循环一个数组的长度?,python,arrays,loops,for-loop,pygame,Python,Arrays,Loops,For Loop,Pygame,我需要遍历keys数组,它是一个数组中的一组数组,我使用两个作为循环。一个用于访问不同的数组,然后一个用于循环每个数组的内容。当我谈到范围(5)中j的“时:”,这是第二个循环,它说“AttributeError:'str'对象没有属性'length'”,尽管它不是一个完整的字符串,而是数组中的单独字符,您可以在“keys”中检出它。在keys数组中循环所有内容的正确方法是什么 # import pygame import os, sys import pygame from pygame.loc

我需要遍历keys数组,它是一个数组中的一组数组,我使用两个作为循环。一个用于访问不同的数组,然后一个用于循环每个数组的内容。当我谈到范围(5)中j的
“时:”
,这是第二个循环,它说
“AttributeError:'str'对象没有属性'length'”
,尽管它不是一个完整的字符串,而是数组中的单独字符,您可以在
“keys”中检出它。
在keys数组中循环所有内容的正确方法是什么

# import pygame
import os, sys
import pygame
from pygame.locals import *

# initialize game engine
pygame.init()

#WINDOw
width=600
height=400
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("keyboard")

filler = 0;
keys = [['a','b','c','d','e','f'],['g','h','i','j''k'],['l','m','n','o','p'],['q','r','s','t','u'],['v','w','x','y','z']];


animation_increment=10
fps=20
dead=False
clock = pygame.time.Clock()
x = 0

class keyBoard(pygame.sprite.Sprite):
    #code
    def keyDraw(self):
        for i in range(5):
            for j in keys[i]:
                pygame.draw.rect(screen,(255,0,255),(60*i + 10,60*j, 50,50));

对于您发布的问题:

   for j in len(keys[i]):
       print(keys[i][j])
       # print individual characters
我怀疑您想要的是元素,而不是索引,但是
enumerate
为您提供了以下两种:

def keyDraw(self):
    for i, char_list in enumerate(keys):
        for j, char in enumerate(char_list):
            pygame.draw.rect(screen,(255,0,255),(60*i + 10,60*j, 50,50))
我无法调整列表元素的使用,因为您没有提供任何


i
是对
键的索引
char\u list
将在字符列表中迭代,相当于
键[i]

列表的长度可以通过以下方式获得。列表中的列表可以通过以下方式遍历:

范围内的i(len(键)):
对于范围内的j(len(键[i]):
另一种选择是使用:

对于i,枚举中的键列表(键):
对于j,枚举中的字母(键列表):