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

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

如何在一個周期內(nèi)使用生成器輸出和列表?

如何在一個周期內(nèi)使用生成器輸出和列表?

躍然一笑 2023-07-05 16:13:46
my_list = [1,2,3]def my_gen():    yield 4    yield 5    yield 6for i in my_list:  print(i) # 1,2,3for i in my_gen():  print(i) # 4,5,6下一個周期如何實施?我期望得到:1,2,3,4,5,6for i in [my_list, my_gen()]:  print(i) # 1, 2, 3 <generator object my_gen...> -> 1,2,3,4,5,6
查看完整描述

4 回答

?
慕容3067478

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

有一個用于此目的的助手:itertools.chain

for?i?in?itertools.chain(my_list,?my_gen()):
????print(i)

注意:還有一個類似的函數(shù)用于聚合對地圖(dicts,...)的訪問ChainMap


查看完整回答
反對 回復(fù) 2023-07-05
?
溫溫醬

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

如果您想要相同的輸出,可以將生成器轉(zhuǎn)換為列表。


但這還不夠,因為您將打印列表本身,而不是其中的值。


您需要的是解壓列表,并在 for 循環(huán)中使用它。


my_list = [1,2,3]


def my_gen():

    yield 4

    yield 5

    yield 6


for i in [*my_list, *list(my_gen())]:

  print(i)


查看完整回答
反對 回復(fù) 2023-07-05
?
臨摹微笑

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

for i in zip(my_list, my_gen()):
  print(*i)

說實話,我不太明白你的問題。請更好地解釋一下自己。

編輯:是*解壓函數(shù)zip()創(chuàng)建的元組。


查看完整回答
反對 回復(fù) 2023-07-05
?
拉莫斯之舞

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

語法是一個相當(dāng)未知的功能yield from,它允許將要生成的元素委托給另一個生成器。這樣做的優(yōu)點是不轉(zhuǎn)換my_gen為列表。例如:


my_list = [1, 2, 3]


def my_gen():

    yield 4

    yield 5

    yield 6


def my_final_gen():

    yield from my_list

    yield from my_gen()


for x in my_final_gen():

    print(x)


查看完整回答
反對 回復(fù) 2023-07-05
  • 4 回答
  • 0 關(guān)注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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