我一直在尝试将字典添加到列表中,但是由于列表/字典的范围未知,所以没有运气,这是代码:
def something():
my_dict = {}
my_list = []
for i in range(n):
for j in range(n):
my_dict[i,j] = False
my_list[i,j].append(my_dict[i,j])
return(my_list, my_dict)
我写错了吗?
答案 0 :(得分:0)
考虑到您的输入,我最容易想到的方法是仅使用键为带有索引的元组的字典:
def something(n):
my_dict = {}
for i in range(n):
for j in range(n):
my_dict[(i,j)] = False
return(my_dict)
如果您随后运行:
d = something(3)
print(d)
它将输出:
{(0, 1): False, (1, 2): False, (0, 0): False, (2, 1): False, (1, 1): False, (2, 0): False, (2, 2): False, (1, 0): False
(0, 2): False}
如果要访问词典的单个元素,则需要使用:
d[(1,1)]
例如:
print(d[(1,1)])
将输出:
False
答案 1 :(得分:0)
感谢您的更新,请检查以下代码,我想这就是您想要的。
注意:在for循环之前创建字典(如您在问题中提到的那样,在追加操作之后将再添加1条语句来清除字典,因此最好使用
my_dict = {(i, j) = False
解决此问题。
def something(n):
my_list = []
for i in range(n):
for j in range(n):
my_dict = {(i, j): False}
my_list.append(my_dict)
return(my_list) # Return list
print(something(3))
"""
[{(0, 0): False}, {(0, 1): False}, {(0, 2): False}, {(1, 0): False}, {(1, 1): F
alse}, {(1, 2): False}, {(2, 0): False}, {(2, 1): False}, {(2, 2): False}]
"""
def something(n):
my_dict = {}
for i in range(n):
for j in range(n):
my_dict[(i, j)] = False
return(my_dict) # Return dictionary
print(something(3))
"""
{(0, 0): False, (0, 1): False, (0, 2): False, (1, 0): False, (1, 1): False, (1,
2): False, (2, 0): False, (2, 1): False, (2, 2): False}
"""