Пример того, как выполнить итерацию только по первым n элементам для большого словаря в python?
Создание словаря
Предположим, у нас есть очень большой словарь в python:
import random
d = {}
for i in range(1000000):
d[i] = random.randint(1,10)
Code language: JavaScript (javascript)
Наша задача вывести только первые n элементов.
Итерация только по первым n элементам
Одним из решений является использование islice:
import random
from itertools import islice
d = {}
for i in range(1000000):
d[i] = random.randint(1,10)
for item in islice(d.items(), 5):
print('Key:{} Value:{}'.format(item[0], item[1]))
Code language: JavaScript (javascript)
В результате мы получим:
Key:0 Value:9
Key:1 Value:10
Key:2 Value:10
Key:3 Value:4
Key:4 Value:8
Code language: CSS (css)
Примечание. islice можно использовать для разбиения любой части словаря:islice(dict, start, end):
for item in islice(d.items(), 10,15):
print('Key:{} Value:{}'.format(item[0], item[1]))
Code language: PHP (php)
Данный код выведет следующее:
Key:10 Value:4
Key:11 Value:7
Key:12 Value:10
Key:13 Value:9
Key:14 Value:4
Code language: CSS (css)