2017-03-09 64 views
0

的Python 3个没有捷径:字典保存到文件/在字典数项

好家伙我是一个Python初学者学习词典现在

下面

是我迄今了解如何保存列表到文件

和计数列表中的项目如下。

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 

将是正确的?我认为字典与使用列表不同。

感谢您的任何评论!

+0

哎呀没有捷径意味着我不能使用简单的模块。 – David

回答

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 

如果您需要了解更多信息,你可以去查文档,字典:)

Python 3 documentation of Data Structures