0
这里是迄今为止我的程序:为列表分配键和值?
file = open('CASS.txt', 'r')
f = file.readlines()
file.close()
classcode = input('Please enter a class code: ')
print("Class list for", classcode)
for line in f:
if line.find(classcode)>=0:
names = line.split()
names1 = names[0].split(',')[0:3]
print(names1)
和输出类TDA3M102是
['Abdull', 'Sonia', 'F']
['Armstrong', 'Sammi', 'F']
['Barrey', 'Tina', 'F']
['Bu', 'Kyle', 'M']
['Cheng', 'Henry', 'M']
['Dance', 'Daniel', 'M']
['East', 'Adam', 'M']
['Frasier', 'Annie', 'F']
['Han', 'Brandon', 'M']
['Huang', 'Peter']
['Kauffman', 'Fredricka', 'F']
['Lunsford', 'Mike', 'M']
['Leung', 'Dan', 'M']
['Li', 'Annika', 'F']
['Li', 'Ben', 'M']
['Muhummad', 'Artom', 'M']
['Nguyen', 'Tim', 'M']
['Peterson', 'Elena']
['Shneider', 'Samantha', 'F']
['Sun', 'Yu', 'M']
['Vance', 'Adam', 'M']
['Wen', 'William', 'M']
['Woods', 'Larry', 'M']
['Yan', 'Harry']
我有这个列表转换成一个字典,并指定名字&姓氏为每个学生作为价值的关键和性别。如果没有性别,程序应该设置一个随机性别。我不太确定如何去做这件事。有任何想法吗?
这里是我的尝试:
myDict = {}
for name in names1:
if name in myDict:
myDict[name] += 1
else:
myDict[name] = 1
print(myDict)
输出功率为:
{'Yan': 1, 'Harry': 1}
由于某种原因,它只是(列表中的最后一个名字)认识1名,仅输出该值。
你尝试过这么远吗?你知道如何弄清楚是否有性别?如何选择一个随机的?如何制作字典? – 2014-12-06 01:15:51
@ li.davidm我试过使用for语句并将其循环到一个新的字典中,但它只是为一个名称(通常是姓氏)和崩溃。我也有一种感觉,我应该使用.setdefault来为没有一个的名字设置一个性别。如果没有给它们,性别应该是随机的。 – eskoka 2014-12-06 01:21:32