Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3中的惰性切片_Python_List - Fatal编程技术网

python3中的惰性切片

python3中的惰性切片,python,list,Python,List,我有一个巨大的python列表(~1_800_000项),它是使用大约1000个JSON文件中的map()函数构建的。我想先检查几个项目,以确保脚本正常工作。我是这样做的: items=map(lambda文件:加载json(文件),文件列表) 打印(列表(项目)[:5]) 将地图转换为列表大约需要5-10秒,如果不将地图结果转换为列表,是否可以先执行几项操作?您可以执行以下操作: items = map(lambda file: load_json(file), file_list) pri

我有一个巨大的python列表(~1_800_000项),它是使用大约1000个JSON文件中的
map()
函数构建的。我想先检查几个项目,以确保脚本正常工作。我是这样做的:

items=map(lambda文件:加载json(文件),文件列表)
打印(列表(项目)[:5])
将地图转换为列表大约需要5-10秒,如果不将
地图
结果转换为
列表
,是否可以先执行几项操作?

您可以执行以下操作:

items = map(lambda file: load_json(file), file_list)
print([next(items) for _ in range(5)])
或使用,这有一点好处,即如果您的物品少于五件,则不会失败:

items = map(lambda file: load_json(file), file_list)
print(list(itertools.islice(items, 5)))

请注意,这两个项都使用
项中的第一个元素,因此,如果要“查看”这些元素,然后获取整个列表,则需要先预先准备这些项。

?不相关,但如果要将lambda的参数传递给另一个函数,则无需创建lambda。您可以直接将该函数传递到
map
items=map(load\u json,file\u list)