lis python Python 在lis中查詢

2021-10-18 07:18:47 字數 1075 閱讀 2375

至於您的第乙個問題:如果item等於mylist中的乙個元素,那麼該**就可以正常工作。也許您試圖找到乙個字串,但它與其中乙個項不完全匹配,或者您使用的浮點值存在不精確性。

至於你的第二個問題:如果在列表中「發現」事物,實際上有幾種可能的方法。

檢查裡面是否有東西

這是您描述的用例:檢查列表中是否有內容。如您所知,您可以使用in運算子:3 in [1, 2, 3] # => true

過濾集合

也就是說,找到乙個序列中滿足某個條件的所有元素。您可以使用列表理解或生成器表示式:matches = [x for x in lst if fulfills_some_condition(x)]

matches = (x for x in lst if x > 6)

後者將返回乙個生成器,您可以將其想象為一種惰性列表,只有在您遍歷它時才會生成它。順便說一下,第乙個完全等同於matches = filter(fulfills_some_condition, lst)

在python 2中。在這裡你可以看到高階函式在工作。在python 3中,filter不返回列表,而是返回乙個類似生成器的物件。

找到第乙個

如果您只想要與條件匹配的第一件事(但您還不知道它是什麼),那麼使用for迴圈就可以了(也可以使用else子句,這並不是很有名)。你也可以使用next(x for x in lst if ...)

如果未找到匹配項,則返回第乙個匹配項或引發乙個stopiteration。或者,您可以使用next((x for x in lst if ...), [default value])

查詢專案的位置

對於列表,還有乙個index方法,如果您想知道列表中某個元素的位置,它有時會很有用:[1,2,3].index(2) # => 1

[1,2,3].index(4) # => valueerror

但是,請注意,如果有重複項,.index始終返回最低索引:。。。。。。[1,2,3,2].index(2) # => 1

如果存在重複項,並且需要所有索引,則可以使用enumerate()代替:[i for i,x in enumerate([1,2,3,2]) if x==2] # => [1, 3]

在樣式矩陣中查數(C語言)

題目描述 楊氏矩陣 有乙個二維陣列.陣列的每行從左到右是遞增的,每列從上到下是遞增的.在這樣的陣列中查詢乙個數字是否存在。時間複雜度小於o n 思路 在楊氏矩陣中查詢乙個數,根據楊氏矩陣的特點 陣列的每行從左到右是遞增的,每列從上到下是遞增的 所以在查詢的時候 為保證時間複雜度小於o n i 的初始...

在access2007中關閉執行生成表查詢時的提示

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!例如,寫了乙個自動用查詢結果建立表的語句 select age into tablea from tableb 在access再2007中每次執行這個查詢時總提示 執行查詢之前將刪除已有的表tablea 實在可恨。搜了很多資料,很多人都說用下面的辦...

mysql語句查 mysql中SQL語句查

show tables 檢視或顯示所有表名 show databases 檢視或顯示所有資料庫名 desc 表名 檢視表結構 select form 表名 查詢表中所有欄位的值 select from 表名 order by 指定欄位名 desc 按照指定字段降序查詢表中資料資訊 select fr...