我是 python 新手,所以对简单的问题表示歉意。我当然错过了一些让我感到困惑的东西。
这与嵌套、拆分有关,我猜是 for 循环,但它不适合我。
所以这是我的原始字符串:
name_scr = 'alvinone-90,80,70,50|simonthree-99,80,70,90|theotwo-90,90,90,65'
我正在尝试创建一个数据结构——其中包含名称和分数的 dict。
所以这就是我开始的:
test_scr = { }
new_name_scr = [list.split('-') for list in name_scr.split('|')]
# [['alvinone', '90,80,70,50'], ['simonthree', '99,80,70,90'], ['theotwo', '90,90,90,65']]
# this is not right, and since the output is a list of lists, I cannot split it again
我在逗号处第三次被困住了。那么我尝试以下方法:
test_scores = {}
for student_string in name_scr.split('|'):
for student in student_string.split('-'):
for scores in student.split(','):
test_scores[student] = [scores]
#but my result for test_scores (below) is wrong
#{'alvinone': ['alvinone'], '99,80,70,90': ['90'], 'theotwo': ['theotwo'], '90,80,70,50': ['50'], '90,90,90,65': ['65'], 'simonthree': ['simonthree']}
我希望它看起来像这样:
{'alvinone': [99 80 70 50], 'simonthree': [90 80 70 90], 'theotwo': [90 90 90 65]}
所以当我这样做时:
print test_scores['simonthree'][2] #it's 70
请在这里帮助我。请记住,我是 python 的新手,所以我还不太了解。谢谢你。