亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Python 打印時結果不一致,想知道原因是什么?

Python 打印時結果不一致,想知道原因是什么?

心有法竹 2023-09-05 15:24:54
>>> all=[""]>>> i="One">>> l=(item for item in all if item in i)>>> print(len(list(l)))1>>> print(len(list(l)))0>>>第一次打印答案是1,沒有任何修改第二次是0
查看完整描述

2 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

這是因為l它是一個生成器。當它停止迭代器時(第一次之后)它是空的并返回 len 為 0。

使用[item for item in all if item in i]而不是(item for item in all if item in i)使其成為列表


查看完整回答
反對 回復 2023-09-05
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

l是一個發電機。當你第一次調用它時,list(l)它會給你一個列表。第二次調用時,生成器為空,因此長度為0



查看完整回答
反對 回復 2023-09-05
  • 2 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號