试图弄清楚如何做到这一点,但尚未找到一个好的解决方案。我从 XML 响应中提取了这些数据。它在一个 var 标签中。现在我想做的是用它创建一个字典。domain.com 应该与其后面列出的数字配对。这是数据:[ 'cb131.domain1.com', '147827', 'cb143.domain2.com', '147825', 'cb175.domain1.com', '147454', 'cb190.domain.com', '146210', 'cb201.domain.com', '146208', 'cb219.domain.com', '146042', 'cb225.domain.com', '146282', 'cb900.domain.com', '148461', 'cb901.domain.com', '148493', 'cb902.domain.com', '148495', 'cb903.domain.com', '148497', 'cb904.domain.com','148499', 'cb905.domain.com', '148501', 'cb906.domain.com', '148503', 'cb907.domain.com', '148505', 'cb908.domain.com', '148507', 'cb909.domain.com', '148509']例如,cb131.domain1.com 应该与 147827 配对,cb143.domain2.com 与 147825 配对等等。在如何做到这一点的快速解决方案上画一个空白。希望有人可以提供帮助。谢谢!编辑了我在下面选择的答案:我选择这个答案也是为了帮助其他人,我添加了一种打印结果的好方法(数据是我获得的字符串):import asti = iter(ast.literal_eval(data))dic = dict(zip(i, i))for key , value in dic.items(): print(key, " :: ", value)
3 回答

阿晨1998
TA贡献2037条经验 获得超6个赞
您可以在使用ast.literal_eval从输入文本中解析它之后从列表中创建一个迭代器,zip迭代器本身,并将生成的元组序列传递给 dict 构造函数:
import ast
i = iter(ast.literal_eval(data))
dict(zip(i, i))

长风秋雁
TA贡献1757条经验 获得超7个赞
假设您在名为 的python 数组中有上述内容data,您可以执行以下操作:
new_data = []
for i in range(0, len(data), 2):
new_data.append((data[i], data[i+1]))
现在 new_data 将是一个元组列表。如果需要,您当然可以创建更好的数据结构来保存这些对。
添加回答
举报
0/150
提交
取消