在Python中,如何在另一个数组中循环一个数组的长度?
我需要遍历keys数组,它是一个数组中的一组数组,我使用两个作为循环。一个用于访问不同的数组,然后一个用于循环每个数组的内容。当我谈到范围(5)中j的在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
“时:”
,这是第二个循环,它说“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,枚举中的字母(键列表):