[英]Append a new list from a for loops returned elements
将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)
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']
new_gamepk = []
for pk in gamepk:
new_gamepk.append(pk)
print(new_gamepk)
在倒数第二个for循环之后打印gamepk会得到如下列表:
446877
452866
446911
446873
446870
446875
446872
446876
446867
446874
446879
446871
我觉得我应该将gamepk结果存储为列表..但我不确定。 我所试图做的是那么所有这些gamepks的追加,我就可以调用一个新的列表set
上,并删除重复的。 我了解附加的概念,但显然似乎无法使其正常工作。 任何帮助和简短说明都将走很长一段路!
通常,此想法是:
使用清单
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循环内部)将“消失”。 这可能会帮助您指导在循环结束后应在何处初始化要保留的变量(在这种情况下为列表/集)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.