gpt4 book ai didi

python - 如何更改多个索引的值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:49 25 4
gpt4 key购买 nike

worldArray = [["." for i in range(5)] for i in range(5)]

这会生成一张我可以用于我的游戏的 map 。它应该看起来像:

[['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.']]

假设 '.' 代表一个草方 block 。如果我想将特定数量的索引替换为 '~' 而不是表示水砖,最简单的方法是什么?我希望 map 看起来有点像:

[['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.'],
['.', '.', '.', '.', '.'],
['~', '~', '.', '.', '.'],
['~', '~', '~', '.', '.']]

我知道我可以手动浏览并更改每个特定索引以显示 '~' 磁贴,但我使用的真实游戏内 map 是 40 x 40——这将使单独替换每个索引的工作有点乏味和多余。我希望能够定义要替换的图 block ,即第 4 行,第 1 - 2 列;第 5 行,第 1 - 3 列。我该怎么做?

最佳答案

切片符号非常适合这个:

from functools import partial

def tile(icon, row, col_start, col_end):
worldArray[row][col_start:col_end] = icon * (col_end - col_start)

water = partial(tile, '~')
mountain = partial(tile, '^')

water(3, 0, 2)
water(4, 0, 3)

关于python - 如何更改多个索引的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com