我正在測驗一個簡單的嵌套 for 回圈,它結合了年和月
year_time = range(2014, 2016)
month_time = [
'0101', '0201', '0301', '0401',
'0501', '0601', '0701', '0801',
'0901', '1001', '1101', '1201'
]
for year_time in year_time:
for month_time in month_time:
print (str(year_time) month_time)
理想的輸出是20140101, 20140201 ... 20151101, 20151201。但是,實際輸出為20140101, 20140201 ... 20151.
我哪里錯了?
uj5u.com熱心網友回復:
您的 for 回圈變數 ( month_time) 在外回圈的第一次迭代之后(更改年份之后)隱藏了串列,因此內回圈的第二次迭代遍歷 string '1201'。
您需要更改名稱:
years = range(2014, 2016)
months = ['0101', '0201', '0301', '0401', '0501', '0601', '0701', '0801', '0901', '1001', '1101', '1201']
for year in years:
for month in months:
print("".join([str(year), month]))
(我還用 a 替換了連接.join,這是一種更 Pythonic 的方式來連接字串,特別是如果你有兩個以上的字串)
uj5u.com熱心網友回復:
這對我有用,您應該嘗試使用“步驟”,例如range(1,10,2) 或多個 range()...
year_time = range(2014,2016)
year_time_2 = range(2015,2017)
month_time = ['0101', '0201', '0301', '0401', '0501', '0601', '0701', '0801', '0901', '1001',
'1101', '1201']
# Range for 2014
for x in year_time:
for month in month_time:
print(str(x) month)
# Range for 2015-2016
for n in year_time_2:
for month in month_time:
print(str(n) month)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/461277.html
上一篇:在for回圈內的pandas資料框中創建新列并給它們不同的名稱
下一篇:C#使用For回圈顯示列舉名稱
