Python:使用变量访问Dict键的值

1 python variables dictionary key

嗨,我一直在编写一个控制台版本的扫雷,只是为了学习一些Python的基础知识.它使用记录在字典中的坐标系.现在,我已经能够成功实现它,但是使用坐标的"x,y"变量来访问或分配特定坐标键的值似乎......笨重.我提出了两种不同的方法,但是当我不得不经常使用它们时,它们似乎并不优雅.

for i in range(1, ROWS+1):
        for j in range(1, COLS+1):
            mine_field["%i,%i" % (i,j)] = 0
Run Code Online (Sandbox Code Playgroud)

要么

for i in range(1, ROWS+1):
        for j in range(1, COLS+1):
            mine_field[",".join([i, j])] = 0
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但在分配或交换值时确实看起来很乱.有没有更好的方法可以做到这一点?

提前致谢.

And*_*Dog 5

为什么不简单地使用元组作为关键?

for i in range(1, ROWS+1):
    for j in range(1, COLS+1):
        mine_field[(i, j)] = 0 # you don't even need the parentheses!
Run Code Online (Sandbox Code Playgroud)

使用此方法,您可以使用逗号分隔的索引,如下所示:

d = {(1,2):3}
print d[1, 2] # will print 3
Run Code Online (Sandbox Code Playgroud)

而BTW为什么你使用一个基于索引?