這個是乙個最基礎的操作,使用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,...