Python:为每个列表项添加键并转换为字典
lst = [1,2,3,4]
我有一组固定的键 ['one','two','three','four','five']
我想要一个字典,像这样
{'one':1, 'two':2, 'three':3, 'four':4, 'five':None}
键的数量总是比列表中的项目数量要多。
3 个回答
1
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会按照我们的要求去做事情。
比如说,如果你想让程序在用户输入一个数字时,检查这个数字是否大于10。如果大于10,程序就会显示“这个数字很大”,否则就显示“这个数字不大”。这就是一个简单的条件判断。
在代码中,这种条件判断通常用“if”语句来实现。你可以把“if”想象成一个问句,程序会根据这个问句的答案来决定接下来要做什么。
所以,理解这些基本的条件判断是学习编程的第一步,它能帮助你让程序更智能,更能根据不同的情况做出不同的反应。
>>> dict(zip(keys, lst + [None]*(len(keys)-len(lst))))
{'four': 4, 'three': 3, 'five': None, 'two': 2, 'one': 1}
2
这里有几种方法可以做到这一点
>>> K=['one','two','three','four','five']
>>> V=[1,2,3,4]
>>> dict(map(None, K, V))
{'four': 4, 'three': 3, 'five': None, 'two': 2, 'one': 1}
>>> D=dict.fromkeys(K)
>>> D.update(zip(K,V))
>>> D
{'four': 4, 'three': 3, 'five': None, 'two': 2, 'one': 1}
10
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或者库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能会在使用某个功能时,发现它的表现和预期不一样,或者出现了错误信息。这时候,我们就需要去查找相关的资料,看看有没有人遇到过类似的问题,或者有没有解决方案。
在StackOverflow上,很多程序员会分享他们遇到的问题和解决方法。通过这些讨论,我们可以学习到很多实用的技巧和经验,帮助我们更好地理解编程的世界。
记住,遇到问题是很正常的,重要的是要保持耐心,积极寻找解决办法。编程的过程就是不断学习和解决问题的过程。
import itertools
lst = [1,2,3,4]
lst2 = ['one','two','three','four','five']
print dict(itertools.izip_longest(lst2, lst, fillvalue=None))
# {'five': None, 'four': 4, 'one': 1, 'three': 3, 'two': 2}