我有这样的列表
mylist = [student_number , student_age , student_marks , subject_name , subject_marks, subject_date , ass_name , ass_number]
我想要类似的东西
list_student = [student_number , student_age , student_marks]
list_subject = [subject_name , subject_marks, subject_date]
list_ass = [ass_name , ass_number]
以便它与下划线之前的文本匹配,将其作为字典的键
我想将其转换为字典,以便我可以访问类似的内容
for a AllList['student']:
Student stuff
编辑:列表元素可以按任何顺序
最佳答案
我会这样做:
# Build dictionary with prefix:list pairs
targets = {
'student_': [],
'subject_': [],
'ass_': []
}
for i in mylist:
# Try to find matching prefix
for prefix in targets:
if i.startswith(prefix):
targets[prefix].append(i)
break
这将允许您轻松添加更多前缀并且不关心顺序。
假设(值是字符串):
mylist = ['student_number', 'student_age', 'student_marks', 'subject_name',
'subject_marks', 'subject_date' , 'ass_name' , 'ass_number' ]
你会得到这样的结果:
>>> for i in targets: print( i, targets[i])
...
ass_ ['ass_name', 'ass_number']
student_ ['student_number', 'student_age', 'student_marks']
subject_ ['subject_name', 'subject_marks', 'subject_date']
关于python - 如何根据条件将列表转换为三个列表并放入字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100149/