簡體   English   中英

Python,匹配單詞的第一個字母和最后一個字母

[英]Python, match the first letter of the word and the last one

所以這里是選擇“listb.txt”中一個單詞的代碼的一部分它是該行的第二部分,它給了我一個問題。 它可以根據第一個字符選擇一個單詞...但是只要你說“和”,它就會抱怨最后一個字符。 例如將“MTHR”,它必須找到中號 行吟詩人 Num是在文件中找到匹配的行,/ 2是因為文件中的單詞之間有空格,所以選擇正確的單詞。

這應該是所有需要的信息......有沒有人有想法? 謝謝!

with open('listb.txt','r') as f:  
    x = 1
    for line in f:
        if x == num/2 and len(sms_word) <= len(line) < 2*(len(sms_word)) and sms_word[0] == line[0]:
            print line
            break
        x += 1                    

首先,您可以使用enumerate簡化代碼:

for x, line in enumerate(f, 1):

其次,您可以使用startswithendswith來測試字符串:

if (x == num / 2 and
    len(sms_word) <= len(line) < 2 * len(sms_word) and 
    line.startswith(sms_word[0]) and 
    line.endswith(sms_word[-1])):

最后,文件中的行最后會有一個換行符'\\n' ,所以首先將它們strip()

line = line.strip()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM