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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何返回僅包含特定單詞的行

如何返回僅包含特定單詞的行

ibeautiful 2021-08-17 15:49:46
運(yùn)行一個(gè)簡(jiǎn)單的程序,它接受兩個(gè)輸入、一個(gè)輸入文件和一個(gè)要搜索的詞。然后它應(yīng)該打印出包含該單詞的所有行。例如,我的輸入文件包含 5 個(gè)句子,如下所示:My cat is named garfieldHe is my first CatMy mom is named cathyThis is a catastropheHello how are you我要檢查的詞是 cat這是我寫的代碼:input_file = sys.argv[1]input_file = open(input_file,"r")wordCheck = sys.argv[2]for line in input_file:    if wordCheck in line:        print lineinput1.close()現(xiàn)在很明顯,這將返回第 1、3 和 4 行,因?yàn)樗鼈冊(cè)谀承r(shí)候都包含“cat”。我的問題是,我將如何工作,以便僅打印第 1 行(唯一帶有“cat”一詞的行)?第二個(gè)問題是,在不考慮大小寫的情況下,獲取所有包含“cat”一詞的行的最佳方法是什么。因此,在這種情況下,您將返回第 1 行和第 2 行,因?yàn)樗鼈兎謩e包含“cat”和“Cat”。提前致謝。
查看完整描述

3 回答

?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以為此使用正則表達(dá)式:


import re


# '\b': word boundary, re.I: case insensitive 

pat = re.compile(r'\b{}\b'.format(wordCheck), flags=re.I)


for line in input_file:

    if pat.search(line):

        print line


查看完整回答
反對(duì) 回復(fù) 2021-08-17
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

這是一個(gè)簡(jiǎn)短的方法,in直接在單詞列表上使用而不是在字符串上使用。


word = 'cat'

for line in lines:

    if word in line.split(' '): # use `in` on a list of all the words of that line.

        print(line)

輸出: My cat is named garfield


查看完整回答
反對(duì) 回復(fù) 2021-08-17
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

對(duì)于您的第一個(gè)問題,您可以使用break語句在獲得第一個(gè)匹配項(xiàng)后停止循環(huán)


for line in input_file:

    if wordCheck in line.split(' '):

        print line

        break # add break here

關(guān)于你的第二個(gè)問題,請(qǐng)用戶lower()功能,一切都轉(zhuǎn)換成小寫,所以Cat和cat會(huì)被檢測(cè)到。


for line in input_file:

    if wordCheck in line.lower().split(' '):

        print line


查看完整回答
反對(duì) 回復(fù) 2021-08-17
  • 3 回答
  • 0 關(guān)注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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