最近,我一直在嘗試查找串列中是否存在某個值,而不必遍歷每個條目并檢查它是否存在。例如,如果我有一個這樣的串列:
items = [{'userAssetId': 1408823681, 'assetId': 116040828, 'name': 'ExampleItem'}, {'userAssetId': 2605640821, 'assetId': 250395631, 'name': 'ExampleItem2'}]
如果有可能,我將如何查找資產 ID 為 116040828的串列或索引,而不像這樣遍歷主串列?
for item in items:
if item["assetId"] == 116040828:
#Found list that includes 116040828
想知道是否items.find(116040828)存在類似的東西。
uj5u.com熱心網友回復:
使用next:
next((item for item in items if item['id'] == 12345), None)
None如果未找到則回傳
uj5u.com熱心網友回復:
像這樣:
next(filter(lambda x:x['id'] == 12345,items), None)
uj5u.com熱心網友回復:
items = [{"id": 12345, "name": "abc"}, {"id": 54321, "name": "cba"}]
found = 12345 in map(lambda x: x.get("id"), items)
print("found: ", found)
如果你想要這個專案
items = [{"id": 12345, "name": "abc"}, {"id": 54321, "name": "cba"}]
find = 12345
item = next((item for item in items if item["id"] == find), None)
print(item)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/340901.html
