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)
它工作得很好,但在分配或交换值时确实看起来很乱.有没有更好的方法可以做到这一点?
提前致谢.
为什么不简单地使用元组作为关键?
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为什么你使用一个基于索引?