簡體   English   中英

如果字符串在列表中,則打印列表的所有元素?

[英]Printing all elements of list if string is in list?

因此,我嘗試制作一個搜索功能,如果搜索到的字符串存在於列表中,則該功能將打印出二維列表中的所有實例。 因此,如果用戶搜索列表中的術語,則程序將返回所有包含該術語的內部列表。 這是我到目前為止的內容:

def music_library(tracks):
while True:
    st_search = raw_input("Search tracks: ")
    for a in tracks if st_search == tracks:
        print a

但是,這給了我一個語法錯誤。 我也不知道這是否在做我想要做的事情。 如果有人知道我要做什么,我將不勝感激!

您接近了,我將對其作如下更改。

def music_library(tracks):
    st_search = raw_input("Search tracks: ")
    for a in tracks:
        if st_search == a:
            print a

我會這樣寫

def find_track(albums, track):
    return [album for album in albums if track in album]

我在解釋器中測試過,看看是否是您想要的

In [3]: albums = [['as','def','ded'], ['red','def','pil'],['ret','tre','yui']]

In [4]: def find_track(albums,track):
   ...:     return [album for album in albums if track in album]
   ...: 

In [5]: find_track(albums,'def')
Out[5]: [['as', 'def', 'ded'], ['red', 'def', 'pil']]

In [6]: find_track(albums,raw_input('Track? '))
Track? ded
Out[6]: [['as', 'def', 'ded']]

In [7]: 

暫無
暫無

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

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