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

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

在python中拆分字符串,然后將每個(gè)單獨(dú)的部分與值列表進(jìn)行比較時(shí)出現(xiàn)問題

在python中拆分字符串,然后將每個(gè)單獨(dú)的部分與值列表進(jìn)行比較時(shí)出現(xiàn)問題

我在實(shí)驗(yàn)室時(shí)遇到問題。我的任務(wù)是接收輸入,根據(jù)空格拆分輸入,并測試它是否在單獨(dú)的列表中。我有一個(gè)函數(shù),可以查看值是否在列表中,但是當(dāng)我測試我知道在列表中的短語時(shí),沒有任何顯示。我試圖看看字符串拆分是如何拆分我的短語“austin is cool”的,當(dāng)我輸入city[0]時(shí),它只返回了一個(gè)“a”。我還創(chuàng)建了通過txt文件解析的函數(shù),并創(chuàng)建了一個(gè)列表,以便我可以進(jìn)行比較,另一個(gè)函數(shù)實(shí)際上檢查該單詞是否位于列表中。以下是我最后的程序+函數(shù):def load_city_corpus():    city_list = []    filename = "NYC2-cities.txt"    with open(filename) as f:        for line in f:            city_list.append(line.strip())    return city_list\\\\\def is_a_city(city,city_list):    try:        index = city_list.index(city)        return True    except AttributeError:        return False\\\\\list_of_cities = load_city_corpuswhile True:   city_test = input("Enter some text (or ENTER to quit):")   if city_test == "":      break   city_test.split(" ")   print(city_test[0]) #prints "a"   for item in city_test:      if is_a_city(city_test,list_of_cities) == True:          print(f"{city_test.title()} is a city")   else:      break
查看完整描述

3 回答

?
慕虎7371278

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

您的代碼中有一些錯(cuò)誤。這是一個(gè)帶有一些注釋的固定版本:


def load_city_corpus():

    city_list = []

    filename = "NYC2-cities.txt"

    # return ['austin', 'boston'] # my stub for testing...

    with open(filename) as f:

        for line in f:

            city_list.append(line.strip()) # could add lower() for safety...

    return city_list


def is_a_city(city, city_list):

    try:

        index = city_list.index(city) # could be city.lower() for safety

        return True

    except ValueError: # AttributeError:

        return False


list_of_cities = load_city_corpus() # Need the () to call the func

while True:

   city_test = input("Enter some text (or ENTER to quit): ")

   if city_test == "":

      break

   city_test = city_test.split() # (" ") not an error to use, but not nec.

   # ^^^^^^^^^^ have to assign the result of the split to preserve it...

   print(city_test[0]) #prints "a" -- not anymore! :)

   for item in city_test:

      if is_a_city(item, list_of_cities) == True: # item, not city_test

          print(f"{item.title()} is a city")          # item, not city_test

   # get rid of the below, because it will always break out of the loop after one pass.

   # else:

   #    break

再次閱讀您的帖子,我注意到您使用“austin is cool”,就好像它是作為輸入輸入輸入的一樣。那么,您是否正在嘗試檢查輸入的第一個(gè)單詞是否是城市,或者輸入的任何單詞是否是城市?上面的代碼處理后者。


另外,不要猶豫,使用額外的變量來保存結(jié)果。這樣做可以使代碼更易于閱讀、跟蹤和調(diào)試。您只需要確保在所有適當(dāng)?shù)奈恢檬褂迷撔伦兞考纯?。所以。。。city_test.split()


city_splits = city_test.split()

print(city_splits[0]) #prints "a" -- not anymore! :)

for item in city_splits:

   if is_a_city(item, list_of_cities) == True: # item, not city_test

       print(f"{item.title()} is a city")          # item, not city_test


查看完整回答
反對 回復(fù) 2022-08-16
?
呼啦一陣風(fēng)

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

您沒有分配拆分的結(jié)果 - 它不會(huì)就地發(fā)生。當(dāng)您檢查時(shí),您只是在檢查字符串的第 0 個(gè)元素 - 即 A。city_test[0]

替換為 以使功能符合您的期望。city_test.split(" ")city_test = city_test.split(" ")


查看完整回答
反對 回復(fù) 2022-08-16
?
嚕嚕噠

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

使用city_test.split(“ ”) 時(shí),您可以根據(jù)空格拆分字符串。但原來的city_test= [“austin is cool”] 保持不變。拆分后將列表存儲(chǔ)在變量中。

list_name = city_test.split(“ ”)

您可以使用另一個(gè)變量名稱而不是city_test,如果您希望原始列表存在,則可以存儲(chǔ)它。


查看完整回答
反對 回復(fù) 2022-08-16
  • 3 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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