Skip to main content
 首页 » 编程设计

Python:访问使用变量生成的字典键的值

2025年05月04日21yjmyzz

您好,我一直在编写扫雷的控制台版本,只是为了学习 Python 的一些基础知识。它使用记录在字典中的坐标系。现在,我已经能够成功地实现它,但是使用坐标的“x,y”变量访问或分配一个值给特定的坐标键似乎……笨拙。我想出了两种不同的方法,但当我不得不如此频繁地使用它们时,它们似乎不太优雅。

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

或

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

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

提前致谢。

请您参考如下方法:

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

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! 

使用此方法,您可以像这样使用逗号分隔的索引:

d = {(1,2):3} 
print d[1, 2] # will print 3 

顺便说一句,您为什么要使用基于 one 的索引?