Class 和 Dict 为什么不合并?

我一直在尝试将字典附加到列表中,但由于列表/字典的范围未知,因此没有找到运气,这是代码:


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)

我写错了吗?


四季花海
浏览 179回答 2
2回答

慕无忌1623718

根据您的输入,我能想到的最简单的方法是只使用一个字典,其键是带索引的元组: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

陪伴而非守候

感谢您的更新,请检查下面的代码,我想这就是您要找的。注意:在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 listprint(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}]"""作为字典获取 »def something(n):    my_dict = {}    for i in range(n):        for j in range(n):            my_dict[(i, j)] = False    return(my_dict) # Return dictionaryprint(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}"""
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python