python list 查詢與過濾方法整合

2021-09-24 19:03:26 字數 1514 閱讀 7570

這個是乙個最基礎的操作,使用in操作符,如下所示:

3in[

1,2,

3]# => true

過濾出滿足一定條件的所有元素,可以使用列表表示式或者生成器表示式:

matches =

[x for x in lst if fulfills_some_condition(x)

]matches =

(x for x in lst if x >

6)

後者返回乙個生成器,你可以將它想象成乙個延後列表(lazy list)僅僅當你迭代它的時候才會被建立。順便說一下,第乙個在py2中等價於

matches =

filter

(fulfills_some_condition, lst)

返回乙個list。在python3中,filter不會返回乙個list,而是乙個類似於生成器的物件。

next

(x for x in lst if..

.)

如果沒有找到匹配項,則返回第乙個匹配項或引發stopiteration異常。或者,您可以使用

next

((x for x in lst if..

.),[default value]

)

查詢item位置的基礎功能可以使用python陣列的的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]

假如有如下型別的資料

list=[

,]

我想根據id來查詢,並且獲得指定id的position。

list

[next

(index for

(index, d)

inenumerate

(list1)

if d[

"id"]==

'2')][

'position'

]

請求體查詢 查詢與過濾

elasticsearch 使用的查詢語言 dsl 擁有一套查詢元件,這些元件可以以無限組合的方式進行搭配。這套元件可以在以下兩種情況下使用 過濾情況 filtering context 和查詢情況 query context 當使用於 過濾情況 時,查詢被設定成乙個 不評分 或者 過濾 查詢。即,...

使用DSL查詢與過濾

使用dsl查詢與過濾 1 全匹配 match all 普通搜尋 匹配所有文件 get index name search get index name search filter 2 標準查詢 match和multi match match查詢是乙個標準查詢,不管你需要全文本查詢還是精確查詢基本上都...

字串查詢與過濾

今天和一愛學習的技術mm聊天,關於怎樣插入鍊錶節點的,她把節點插在鍊錶尾部,我給她提供了插入在首部的方法,更簡潔,然後她回了句 我的是最笨的 附帶大哭的qq表情 突然想給她開個玩笑,於是回了句 char tmp 10 char test 我的是最最笨的 strcpy tmp,strtok test,...