没有快捷方式:将dict保存到dict中的文件/计数项目

时间:2017-03-09 07:15:40

标签: python-3.x dictionary

Python 3

大家好我是蟒蛇初学者,现在正在学习词典

下面是我到目前为止学到的如何将列表保存到文件

并计算列表中的项目,如下所示。

class item:
    name = None
    score = None

def save_list_in_file(file_name:str, L:[item]):
    f = open(file_name,'w')
    for it in L:
        f.write(it.name + "" + str(it.score))
    f.close()

def count_item_in_list(L:[item])->int:
    n = 0
    for it in L:
        if it.score >= 72:
        n += 1
    return n

我不确定使用字典是否与我在列表中使用的方式相同

例如:

def save_dict_to_file(file_name:str, D:{item}):
    f = open(file_name,'w')
    for it in D:
        f.write(it.name + "" + str(it.score))
    f.close()

def count_item_in_dict(D:{item})->int:
    n = 0
    for it in D:
        if it.score <= 72:
        n += 1
    return n

会是正确的吗?我认为dict与使用列表不同。

感谢您的任何评论!

1 个答案:

答案 0 :(得分:0)

您不能像使用列表一样使用字典。

列表被定义为元素序列。所以当你有列表时:

    L=['D','a','v','i','d']

你可以像这样循环:

    for it in L:
        print(it)

它会打印出来:

  D
  a
  v
  i
  d

相反,字典是一组由两个元素组成的元组,其中一个是键,第二个是值。例如,你有一个像这样的Dictonary:

    D = {'firstletter' : 'D', 'secondletter': 'a', 'thirdletter' : 'v' }

当你像列表一样循环时:

    for it in L:
        print(it)

它只打印键:

    firstletter
    secondletter
    thirdletter

所以为了获得值,你必须像这样打印它:

    for it in D:
        print(D[it])

将显示此结果:

D
a
v

如果您需要更多信息,可以查看de documentation for dictionary:)

Python 3 documentation of Data Structures