Основная идея заключается в следующем:
- Инициализировать пустую коллекцию (список, набор) вне самого внешнего цикла
- Как только вы нашли нужный элемент, добавьтеэто в коллекцию.
Использование списка
import csv
import requests
import datetime
from pprint import pprint
import pendulum
start = pendulum.datetime(2016, 4, 3)
end = pendulum.datetime(2016, 10, 2)
period = pendulum.period(start, end)
gamepks = []
for dt in period.range('days'):
day = dt.format('DD')
month = dt.format('MM')
year = dt.format('YYYY')
the_date = str(month) + "/" + str(day) + "/" + str(year)
try:
req = requests.get('http://gd.mlb.com/components/game/mlb/year_' + str(year) + '/month_' + str(month) + '/day_' + str(day) + '/miniscoreboard.json') #
get_gameIds = req.json()['data']['games']['game']
for gameId in get_gameIds:
gamepk = gameId['game_pk']
gamepks.append(gamepk)
Использование набора
import csv
import requests
import datetime
from pprint import pprint
import pendulum
start = pendulum.datetime(2016, 4, 3)
end = pendulum.datetime(2016, 10, 2)
period = pendulum.period(start, end)
gamepks = set()
for dt in period.range('days'):
day = dt.format('DD')
month = dt.format('MM')
year = dt.format('YYYY')
the_date = str(month) + "/" + str(day) + "/" + str(year)
try:
req = requests.get('http://gd.mlb.com/components/game/mlb/year_' + str(year) + '/month_' + str(month) + '/day_' + str(day) + '/miniscoreboard.json') #
get_gameIds = req.json()['data']['games']['game']
for gameId in get_gameIds:
gamepk = gameId['game_pk']
gamepks.add(gamepk)
Важно понимать сферу действия.Переменные, объявленные внутри внутренних областей (например, внутри циклов for), «исчезают» после выхода из цикла.Это может помочь вам определить, где вы должны инициализировать переменные (в данном случае список / набор), которые вы хотите сохранить после окончания цикла.