我有一个字典数组或一个字典本身,我想将其长度限制为1000。这是我到目前为止的内容:
MAX_ROWS = 1000
data[:MAX_ROWS] if isinstance(data, list) else ...
通常我会使用forloop来做到这一点,例如:
d = {}
for key in list(data.keys())[:MAX_ROWS]:
d[key] = data[key]
在上面的单行代码中有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用字典理解:
d = {key: data[key] for key in list(data)[:MAX_ROWS]}
还要注意,list(data)
将返回data
的键。
这是另一个可能更有效的解决方案(未经测试):
from itertools import islice
d = {key: data[key] for key in islice(data, MAX_ROWS)}