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

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

如何讓我的 python 腳本 for 循環(huán)運行得更快并使用更少的循環(huán)?

如何讓我的 python 腳本 for 循環(huán)運行得更快并使用更少的循環(huán)?

元芳怎么了 2023-10-06 11:11:30
我想檢查同一個列表中同時存在的兩個單詞。例如我有一個單詞列表就像word_list = [I have a dream, I am a dreamer]并有一個名為 df 的數(shù)據(jù)框,例如df# word1  word2#  have   dream#  basketball player我想檢查同一個列表中同時存在的兩個單詞。所以我這樣寫了我的代碼for index, row in df.iterrows():    text = []    tokenized = word_list.split()    for tokenized_word in tokenized:        if row["word1"] == tokenized_word:                    for tokenized_word in tokenized:                        if row["word2"] == tokenized_word:                            text.append(word_list)如果列表有很多元素并且數(shù)據(jù)框有很多單詞,則運行此代碼將花費很多時間。無論如何要加快我的代碼嗎?
查看完整描述

1 回答

?
手掌心

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

我會這樣做:


tokens = set(word_list.split())

text = [

    word_list for _, row in df.iterrows() 

    if row["word1"] in tokens and row["word2"] in tokens

]

由于word_list永遠不會改變,因此您只需構(gòu)建set一次,然后之后的每次word in tokens檢查都是恒定時間的,而不需要對整個列表進行迭代。


請注意,我不確定這是否實際上是您想要構(gòu)建的列表(一遍word_list又一遍重復的相同副本),但這就是您原始循環(huán)的作用。:)


查看完整回答
反對 回復 2023-10-06
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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