我正在编写一个从给定文件构造dictionary
的函数。该文件包含以下数据:7576240,Sigrid,Rahn
。该号码是一个ID,其余的是第一个和第二个名称。我的任务是创建一个dictionary
,其ID为Key
,首字母和姓氏为Value
,采用元组格式。
我设法做到了,但当我尝试这样做时:
students_dict = read_class_from_file('class1.txt')
print(students_dict['7576240'])
它返回:
2365568 : ('Josef', 'Krten')
3544826 : ('Bernadene', 'Klimas')
5215521 : ('Florie', 'Starkebaum')
6914206 : ('Minnaminnie', 'Sridhar')
7576240 : ('Sigrid', 'Rahn')
8963113 : ('Sharri', 'Benyon')
Traceback (most recent call last):
File "<string>", line 2, in <fragment>
builtins.TypeError: 'NoneType' object is not subscriptable
我认为字典工作正常,直到我称之为Key才能获得它的价值,有人可以帮忙吗?
我的代码:
def read_class_from_file(filename):
''' function reads all data in (filename) and returns a dictionary '''
dictionary = {}
lines = []
data = [line.strip() for line in open(filename, 'r')]
for line in data[1:]:
lines += [line.split(",")]
for lina in lines:
dictionary[lina[0]] = (lina[1], lina[2])
for key in sorted(dictionary.keys()):
print("{0} : {1}".format(key, dictionary[key]))
答案 0 :(得分:1)
你没有从你的功能中返回任何东西。 你必须添加
var layers = [CALayer](count: 60, repeatedValue: CALayer())
override func viewDidLoad() {
super.viewDidLoad()
// Access all layers
for layer in layers {
// Do something
}
// Access an individual layer
layers[0].frame = CGRectZero
}
到return dictionary
定义的最后。由于它目前不返回任何内容,read_class_from_file
为students_dict
。