第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 python 中打印 For 循環(huán)輸出的 “nth” 值

如何在 python 中打印 For 循環(huán)輸出的 “nth” 值

肥皂起泡泡 2022-08-25 14:54:16
所以我想知道是否有辦法從For Loop輸出中打印第n個值(不是最后一個值)。例如:假設(shè)我只想打印 For Loop 輸出中的“倒數(shù)第五”值或“倒數(shù)第三”值。任何想法我怎么能這樣做?我是編碼/python的新手,在進行大量研究和學(xué)習(xí)之后,我正在構(gòu)建此代碼。所以任何幫助贊賞。目前,下面的代碼給了我最后一個值。from datetime import timedelta, datedef daterange(start_date, end_date):    for n in range(int(start_date.day), int((end_date - start_date).days), 90):        yield start_date + timedelta(n)start_date = date(2016, 1, 1)end_date = date.today()for single_date in daterange(start_date, end_date):    x = single_date.strftime("%Y-%m-%d")print(x)
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

該技術(shù)是將結(jié)果累積到容器中,然后將第 n 個元素打印回來。


一種可能性是使用 maxlen 值設(shè)置為 n 的 collections.deque()。


from datetime import timedelta, date

from collections import deque


def daterange(start_date, end_date):

    for n in range(int(start_date.day), int((end_date - start_date).days), 90):

        yield start_date + timedelta(n)


window = deque([], maxlen=5)

start_date = date(2016, 1, 1)

end_date = date.today()

for single_date in daterange(start_date, end_date):

    x = single_date.strftime("%Y-%m-%d")

    window.append(x)


print(window[0])

上面的代碼輸出第五個最舊的條目。


2018-12-17

上面的代碼在寬度為 5 的滑動窗口中累積最新的值。位置 0 處的最早值和位置 -1 處的最新值。


您可以將 5 更改為所需的 n 的任何值。


希望這有幫助:-)


查看完整回答
反對 回復(fù) 2022-08-25
?
尚方寶劍之說

TA貢獻1788條經(jīng)驗 獲得超4個贊

可以在循環(huán)時使用枚舉,從而提供迭代計數(shù)。您可以根據(jù)需要打印的值在內(nèi)部提供條件,如下所示:


from datetime import timedelta, date


def daterange(start_date, end_date):

    for n in range(int(start_date.day), int((end_date - start_date).days), 90):

        yield start_date + timedelta(n)


start_date = date(2016, 1, 1)

end_date = date.today()

n=5

length =len(list(daterange(start_date, end_date)))


for i,single_date in enumerate(daterange(start_date, end_date)):

    x = single_date.strftime("%Y-%m-%d")

    if i == length-n:

        print(x)


查看完整回答
反對 回復(fù) 2022-08-25
?
婷婷同學(xué)_

TA貢獻1844條經(jīng)驗 獲得超8個贊

可以使用切片僅按索引獲取某些元素。但是,切片不適用于生成器,因此您需要將其轉(zhuǎn)換為列表。


from datetime import timedelta, date


def daterange(start_date, end_date):

    for n in range(int(start_date.day), int((end_date - start_date).days), 90):

       yield start_date + timedelta(n)


start_date = date(2016, 1, 1)

end_date = date.today()

for single_date in list(daterange(start_date, end_date))[4:]:

    x = single_date.strftime("%Y-%m-%d")

    print(x)

這將打印第 5 個(索引:4)到最后一個元素。


查看完整回答
反對 回復(fù) 2022-08-25
  • 3 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號