使用列表理解:
d = {"Brand_Name" : ["Samsung","Apple","Huawei","Nokia"],
"Link" : ["samsung-phones-9.php","apple-phones-48.php","huawei-phones-58.php","nokia-phones-1.php"]}
k = list(d.keys())
[{k[0]: v1, k[1]: v2} for v1, v2 in zip(d[k[0]], d[k[1]])]
输出:
[{'Brand_Name': 'Samsung', 'Link': 'samsung-phones-9.php'},
{'Brand_Name': 'Apple', 'Link': 'apple-phones-48.php'},
{'Brand_Name': 'Huawei', 'Link': 'huawei-phones-58.php'},
{'Brand_Name': 'Nokia', 'Link': 'nokia-phones-1.php'}]
dict 的有序性不很重要,因为键总是与其值相关联。简单测试显示:
# test_dict.py
d = {"Brand_Name" : ["Samsung","Apple","Huawei","Nokia"],
"Link" : ["samsung-phones-9.php","apple-phones-48.php","huawei-phones-58.php","nokia-phones-1.php"]}
k = list(d.keys())
print([{k[0]: v1, k[1]: v2} for v1, v2 in zip(d[k[0]], d[k[1]])])
多次测试(使用ubuntu 16.04的默认python3进行测试,即3.5.2):
$ for i in {1..10}; do python3 test_dict.py; done
[{'Brand_Name': 'Samsung', 'Link': 'samsung-phones-9.php'}, {'Brand_Name': 'Apple', 'Link': 'apple-phones-48.php'}, {'Brand_Name': 'Huawei', 'Link': 'huawei-phones-58.php'}, {'Brand_Name': 'Nokia', 'Link': 'nokia-phones-1.php'}]
[{'Brand_Name': 'Samsung', 'Link': 'samsung-phones-9.php'}, {'Brand_Name': 'Apple', 'Link': 'apple-phones-48.php'}, {'Brand_Name': 'Huawei', 'Link': 'huawei-phones-58.php'}, {'Brand_Name': 'Nokia', 'Link': 'nokia-phones-1.php'}]
[{'Brand_Name': 'Samsung', 'Link': 'samsung-phones-9.php'}, {'Brand_Name': 'Apple', 'Link': 'apple-phones-48.php'}, {'Brand_Name': 'Huawei', 'Link': 'huawei-phones-58.php'}, {'Brand_Name': 'Nokia', 'Link': 'nokia-phones-1.php'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
[{'Brand_Name': 'Samsung', 'Link': 'samsung-phones-9.php'}, {'Brand_Name': 'Apple', 'Link': 'apple-phones-48.php'}, {'Brand_Name': 'Huawei', 'Link': 'huawei-phones-58.php'}, {'Brand_Name': 'Nokia', 'Link': 'nokia-phones-1.php'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
[{'Link': 'samsung-phones-9.php', 'Brand_Name': 'Samsung'}, {'Link': 'apple-phones-48.php', 'Brand_Name': 'Apple'}, {'Link': 'huawei-phones-58.php', 'Brand_Name': 'Huawei'}, {'Link': 'nokia-phones-1.php', 'Brand_Name': 'Nokia'}]
只有外观的顺序改变了,链接没有改变。