[英]Declaring and appending a list within a dictionary in one line
我想知道是否有一个字典的命令允许我声明一个键并列出它是否已经在字典中,或者如果它已经更新它。
i = 0
newlines["numbersbytwo"] = []
newlines["numbersbyfive"] = []
while i<n:
newlines["numbersbytwo"].append(i*2)
newlines["numbersbyfive"].append(i*5)
i+=1
这是我的代码,但我想知道是否有任何方法不必先声明它。
您可以将defaultdict与空列表一起用作默认值。 例如:
In [1]: from collections import defaultdict
In [2]: newlines = defaultdict(list)
In [3]: newlines["numbersbytwo"].append(1)
In [4]: newlines["numbersbyfive"].append(11)
In [5]: newlines
Out[5]: defaultdict(<function <lambda> at 0x00000000031D5048>, {'numbersbyfive': [11], 'numbersbytwo': [1]})
In [6]: newlines["numbersbytwo"]
Out[6]: [1]
In [7]: newlines["numbersbyfive"]
Out[7]: [11]
In [8]:
您可以使用setdefault方法。
>>> newlines = {}
>>> i = 0
>>> while i < n:
>>> newlines.setdefault(numbersbytwo, [])
>>> newlines.setdefault(numbersbyfive, [])
>>> newlines['numbersbytwo'].append(i*2)
>>> newlines['numbersbyfive'].append(i*5)
>>> i += 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.