3 回答

TA貢獻1875條經驗 獲得超5個贊
錯誤行是
duplicates_removed = clean_strings
您可能希望將函數的結果存儲在duplicates removed
. 為此,您需要執行以下操作:
duplicates_removed = clean_strings(states_1, clean_ops)
請注意我之前如何“合并”該行。在原來的行中,您實際上在里面放入了一個函數對象duplicates_removed
- 它不是函數的結果,而是函數對象本身。
該行clean_strings(states_1, clean_ops)
調用函數,但不存儲函數結果的任何地方
我也沒有看到你states_1
在代碼中定義的位置,我猜是之前?

TA貢獻1824條經驗 獲得超8個贊
clean_strings(states_1, clean_ops)調用該函數但不將返回值保存到任何變量。
duplicates_removed = clean_strings只是指向該函數而不調用它,因為它沒有 ()
使固定:
duplicates_removed = clean_strings(states_1, clean_ops)
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)

TA貢獻1805條經驗 獲得超10個贊
duplicates_removed = clean_strings
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)
您正在將函數的引用傳遞clean_strings給dict.fromkeys! ^^
這:
duplicates_removed = clean_strings(states_1, clean_ops)
duplicates_removed = list(dict.fromkeys(duplicates_removed))
print(duplicates_removed)
就可以解決問題了:)
添加回答
舉報