l = ["a", "b", "c", "d", "e"]
我想将此列表转换为字典,例如:
d = {"a": "b", "c": "d", "e": ""}
因此,基本上,偶数将是键,而奇数将是值。我知道我可以用“非 Python 式”的方式来做到这一点,例如使用 if 语句的 for 循环,但我相信应该有一种更“Python 式”的方式来实现这一点。所以,我很感激任何帮助 :)
zip您可以使用字典推导式将列表的元素配对在一起,以更符合 Python 风格的方式实现这一点。以下是其中一种方法:
zip
l = ["a", "b", "c", "d", "e"] # Create the dictionary with even elements as keys and odd elements as values d = {l[i]: l[i+1] if i+1 < len(l) else "" for i in range(0, len(l), 2)} print(d)
range(0, len(l), 2)``0, 2, 4, ...
l[i]
l[i+1] if i+1 < len(l) else ""
""
对于您的示例列表,这将输出:
{'a': 'b', 'c': 'd', 'e': ''}
这是针对您的问题的一个简洁且 Pythonic 的解决方案!