0

私はこのようなリストを持っています

tails = {(1, 352, 368), (2, 336, 368), (3, 320, 368)}

ここで、最初の値はテール番号、2番目はそのx位置、3番目はそのy位置です。後で私のコードで、私は持っています

for item in tail:
    pygame.draw.rect(windowSurface, RED, (xposition, yposition, 16, 16))

その特定のタプルから2番目と3番目の値を取得するにはどうすればよいですか?

4

1 に答える 1

0

あなたはPythonの基本を学びたいと思っているので、これを行うためのいくつかの異なる方法を紹介します(Pythonの「それを行うための明白な方法は1つ、できれば1つだけでなければなりません」):

for item in tails:
    xposition = item[1]  # get item by index
    yposition = item[2]
    pygame.draw.rect(windowSurface, RED, (xposition, yposition, 16, 16))

また

for item in tails:
    ( xposition, yposition ) = item[1:]  # tuple assignment
    pygame.draw.rect(windowSurface, RED, (xposition, yposition, 16, 16))

また

for tail_num, xposition, yposition in tails:  # tuple assignment in for-loop
    pygame.draw.rect(windowSurface, RED, (xposition, yposition, 16, 16))

また

# prepare args using list comprehension
rect_args_list = [ tuple(item[1:]) + ( 16, 16) for item in tails ]
for rect_args in rect_args_list:
    pygame.draw.rect(windowSurface, RED, rect_args)
于 2013-03-26T18:45:49.727 に答える