簡體   English   中英

如果在列表中(我想向列表中的元素添加一些東西) Python

[英]if a in list (I want to add something to the element in list) Python

正如主題所述:

list = ["a", "b"]

element = "ac"

我可以使用:

if element in list: 

如果元素等於 (list + "c") 中的元素

我想要實現的偽代碼:

if element in (list+c)

在 python 中獲得此行為的最佳方法是什么?

編輯:我知道有很多方法可以解決這個問題,但是可以像上面的代碼那樣在一行中完成嗎?

更有效的是:

if any(x+'c' == element for x in your_list):

因為它避免了兩次掃描列表(一次是制作“+c”版本,一次是檢查元素是否在結果列表中)。 如果它在遍歷整個列表之前找到該元素,它也會“短路”(即快速繼續)。


PS - 最好不要將變量命名為list ,因為它已經是實際列表類型的名稱。

if element in [elem + 'c' for elem in my_list]:
    # ...

調用變量list (或intfloatmaptuple等)從來都不是一個好習慣,因為你失去了那些內置類型。

if element[0] in list:

您不想將"c"添加到列表中的每個項目並檢查"ac"是否在結果中; 你想檢查"ac"的第一個字母是否在列表中。 除了容易得多之外,這是一回事。

if element[:-1] in list:

最好計算沒有'c'的元素。 所以你只是在做一個計算。

暫無
暫無

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

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