簡體   English   中英

在元組內搜索列表 - Python

[英]Search lIst inside tuple - Python

我對 Python 相當陌生,並且對我認為非常直截了當的事情感到困惑,我有一個元組列表。 其中元組的第二個元素是一個列表本身,我需要做的是搜索第二個元素,如果該列表中有任何內容,則匹配另一個單獨的列表。 然后返回元組的第一個元素:示例:

tuplelist = [('Bob', ['1', '3', '5']), ('Alice', ['2', '4', '4', '6'])

list_2_check = ['1']

所以在這種情況下,'1' 是第一個元組中列表的匹配項,在這種情況下,我想返回名稱 'Bob'。

我可以執行匹配,但不知道如何返回元組的第一項。

謝謝

首先可能 list_2_check 是錯誤的,因為列表包含 integer 而不是字符串。 我想應用一個集合匹配運算in

這可以是一個起點:

[k for k,v in tuplelist if set(list_2_check)&set(v)]
# ['Bob']

此代碼效率低下,但其想法是使用 set() 以使用正確的運算符。 也許必須重構第一個 init 才能使用正確的數據類型。 如果你有很多數據,這種方式不是那么快。

暫無
暫無

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

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