我有一份名单:
[['Grade', 'V A'], ['Attendance', '16/26'], ['Session timings', '8:00 am - 8:40 am'], ['Grade', 'VII A'], ['Attendance', '24/31'], ['Session timings', '8:50 am - 9:30 am'], ['Grade', 'IX A'], ['Attendance', '20/26'], ['Session timings', '9:40 am - 10:20 am'], ['Grade', 'IX B'], ['Attendance', '21/25'], ['Session timings', '10:50 am - 11:30 am']]
并希望将其转换为如下所示的字典:-
{{"Grade":"V A"}, {"Attendance": "16/26"} ... }
我尝试使用zip方法:-
keys = []
values = []
for i in range(0, 12):
string = str(message_list[i]).replace(',',';').replace('[','').replace(']','').replace("'","").split(";")
keys.append(string[0])
values.append(string[1])
new_dict = dict(zip(keys, values))
print(new_dict)
但它只打印:
{'Grade': ' IX B', 'Attendance': ' 21/25', 'Session timings': ' 10:50 am - 11:30 am'}
它只打印IX B级,不打印其他3级。请帮我查一下密码
但是当我使用new_dict = list(zip(keys, values))
时,它将整个打印为元组列表:
[('Grade', ' V A'), ('Attendance', ' 16/26'), ('Session timings', ' 8:00 am - 8:40 am'), ('Grade', ' VII A'), ('Attendance', ' 24/31'), ('Session timings', ' 8:50 am - 9:30 am'), ('Grade', ' IX A'), ('Attendance', ' 20/26'), ('Session timings', ' 9:40 am - 10:20 am'), ('Grade', ' IX B'), ('Attendance', ' 21/25'), ('Session timings', ' 10:50 am - 11:30 am')]
那为什么不打印完整的字典呢?请帮我查一下密码
谢谢大家!
原因是您正在覆盖已存在的密钥,因此只能在
dict
中看到list
的最后一个条目。另一种方法是使用嵌套的dict
,如下所示:使用以下代码:
同一个键(例如,“Grade”)在字典中不能重复多次。。。密钥必须是唯一的
您可以这样做:
结果是:
相关问题 更多 >
编程相关推荐