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

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

為什么我的列表在使用拆分功能后是空的?

為什么我的列表在使用拆分功能后是空的?

慕俠2389804 2023-02-22 19:12:56
我試圖將給定數據中的花朵和灌木分離到兩個單獨的列表中。這是我的代碼:data = ["Andromeda - Shrub","Bellflower - Flower","China Pink - Flower","Daffodil - Flower","Evening Primrose - Flower","French Marigold - Flower","Hydrangea - Shrub","Iris - Flower","Japanese Camellia - Shrub","Lavender - Shrub","Lilac- Shrub","Magnolia - Shrub","Peony - Shrub","Queen Anne's Lace - Flower","Red Hot Poker - Flower","Snapdragon - Flower","Sunflower - Flower","Tiger Lily - Flower","Witch Hazel - Shrub"]flowers = []shrubs = []for i in data:    x=i.split("-")    print(x)    if "Shrub" in x:        shrubs.extend(x)    elif "Flower" in x:        flowers.extend(x)print(shrubs)print(flowers)灌木和花的列表顯示是空的。為什么??
查看完整描述

5 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

用連字符拆分時,您需要查看第二項。您還應該使用 listappend方法,extend這樣您就不會附加字符序列。


data = ["Andromeda - Shrub","Bellflower - Flower","China Pink - Flower","Daffodil - Flower","Evening Primrose - Flower","French Marigold - Flower","Hydrangea - Shrub","Iris - Flower","Japanese Camellia - Shrub","Lavender - Shrub","Lilac- Shrub",        "Magnolia - Shrub","Peony - Shrub","Queen Anne's Lace - Flower","Red Hot Poker - Flower","Snapdragon - Flower","Sunflower - Flower","Tiger Lily - Flower","Witch Hazel - Shrub"]


flowers = []

shrubs = []


for i in data:

   flower, flower_type = i.split("-")

   print(flower)

   if "Shrub" in flower_type:

       shrubs.append(flower)

   elif "Flower" in flower_type:

       flowers.append(flower)


print("Shrubs")

print(shrubs)

print("Flowers")

print(flowers)

最好使用,i.split(" - ")但您有一個條目“Lilac- Shrub”,但與此不匹配。如果這不僅僅是錯字,請修復它,然后更喜歡使用更i.split(" - ")清晰的字符串。


查看完整回答
反對 回復 2023-02-22
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

正如 Thierry Lathuille 指出的那樣,您還剩下空格。首先嘗試替換所有空格:

for i in data:
    i.replace(" ", "")
    x=i.split("-")


查看完整回答
反對 回復 2023-02-22
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

您可以使用stripPython 字符串的方法來清除無用空間中的數據:


data = ["Andromeda - Shrub","Bellflower - Flower","China Pink - Flower","Daffodil - Flower","Evening Primrose - Flower","French Marigold - Flower","Hydrangea - Shrub","Iris - Flower","Japanese Camellia - Shrub","Lavender - Shrub","Lilac- Shrub","Magnolia - Shrub","Peony - Shrub","Queen Anne's Lace - Flower","Red Hot Poker - Flower","Snapdragon - Flower","Sunflower - Flower","Tiger Lily - Flower","Witch Hazel - Shrub"]


flowers = []

shrubs = []


for i in data:

    x = [elm.strip() for elm in i.split("-")]


    print(x)


    if "Shrub" in x:

        shrubs.extend(x)

    elif "Flower" in x:

        flowers.extend(x)


print(shrubs)

print(flowers)


查看完整回答
反對 回復 2023-02-22
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

你可以試試


data = ["Andromeda - Shrub","Bellflower - Flower","China Pink - Flower","Daffodil - Flower","Evening Primrose - Flower","French Marigold - Flower","Hydrangea - Shrub","Iris - Flower","Japanese Camellia - Shrub","Lavender - Shrub","Lilac- Shrub","Magnolia - Shrub","Peony - Shrub","Queen Anne's Lace - Flower","Red Hot Poker - Flower","Snapdragon - Flower","Sunflower - Flower","Tiger Lily - Flower","Witch Hazel - Shrub"]


flowers = []

shrubs = []


for i in data:

    x=i.split("-")

    if "Shrub" == x[1].strip():

        shrubs.append(x[0])

    elif "Flower" == x[1].strip():

        flowers.append(x[0])

print(shrubs)

print(flowers)

輸出


['Andromeda ', 'Hydrangea ', 'Japanese Camellia ', 'Lavender ', 'Lilac', 'Magnolia ', 'Peony ', 'Witch Hazel ']

['Bellflower ', 'China Pink ', 'Daffodil ', 'Evening Primrose ', 'French Marigold ', 'Iris ', "Queen Anne's Lace ", 'Red Hot Poker ', 'Snapdragon ', 'Sunflower ', 'Tiger Lily ']

那個原始代碼沒有


查看完整回答
反對 回復 2023-02-22
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

您忘記了語句中的空格split:


data = ["Andromeda - Shrub","Bellflower - Flower","China Pink - Flower","Daffodil - Flower","Evening Primrose - Flower","French Marigold - Flower","Hydrangea - Shrub","Iris - Flower","Japanese Camellia - Shrub","Lavender - Shrub","Lilac- Shrub","Magnolia - Shrub","Peony - Shrub","Queen Anne's Lace - Flower","Red Hot Poker - Flower","Snapdragon - Flower","Sunflower - Flower","Tiger Lily - Flower","Witch Hazel - Shrub"]


flowers = []

shrubs = []


for i in data:

    x=i.split(" - ")

    print(x)

    if "Shrub" in x:

        shrubs.extend(x)

    elif "Flower" in x:

        flowers.extend(x)

print(shrubs)

print(flowers)


查看完整回答
反對 回復 2023-02-22
  • 5 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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