第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從python中的元組列表中挑選出具有特定擴展名的字符串?

如何從python中的元組列表中挑選出具有特定擴展名的字符串?

青春有我 2022-07-26 16:30:28
我試圖在一個元組列表中挑選出所有 .txt 文件,我不知道如何做到這一點。這是列表的樣子:list = ('something.docx', 'something.txt')我將如何指示計算機查看列表并選擇“something.txt”并打印它(例如)?
查看完整描述

5 回答

?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊

您可以使用列表推導(dǎo)僅過濾以 結(jié)尾的文本.txt

[i for i in my_list if i.endswith('.txt')]

鑒于您正在使用字符串列表(在您的情況下為元組),您可以在每個元素上使用endswith方法來執(zhí)行過濾。


查看完整回答
反對 回復(fù) 2022-07-26
?
肥皂起泡泡

TA貢獻1829條經(jīng)驗 獲得超6個贊

你可以試試這個:


L = ('something.docx', 'something.txt', 'foobar.txt')

L2 = [x for x in L if x[-4:]==".txt"]

for i in L2:

    print(i)

輸出:


something.txt

foobar.txt


查看完整回答
反對 回復(fù) 2022-07-26
?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

最簡單的解決方案是使用 if 語句迭代并提取匹配項

    target_strings = [l for l in list if l=='something.txt'] # extract elemnts
    print(*target_string) # prints all elements

我不知道您是否正在尋找它,但您可以使用任何條件

    target_strings = (l for l in list if your_condition) # extract elemnts
    print(*target_string) # prints all elements


查看完整回答
反對 回復(fù) 2022-07-26
?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

列表理解可能是這里最好的方法,但為了完整起見,這里有一個解決方案filter:


paths = ('something.docx', 'something.txt')


for path in filter(lambda x: x.endswith(".txt"), paths):

    print(path)

給出:


something.txt

主要區(qū)別在于它filter返回一個迭代器,因此如果您只需要打印(或者只是不需要存儲所有匹配項),這不會在內(nèi)存中創(chuàng)建另一個列表。


查看完整回答
反對 回復(fù) 2022-07-26
?
夢里花落0921

TA貢獻1772條經(jīng)驗 獲得超6個贊

您應(yīng)該為此使用該os模塊,例如,在這樣的列表理解中:


import os



files = ('something.docx', 'something.txt')

extension = '.txt'


all_txt = [

    file for file in files if os.path.splitext(file)[1] == extension

]


print(all_txt)


>>> ['something.txt']

注意:不要list用作變量名,因為它是python reserved keyword


查看完整回答
反對 回復(fù) 2022-07-26
  • 5 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號