亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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

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

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

5 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

您可以使用列表推導僅過濾以 結尾的文本.txt

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

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


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

TA貢獻1829條經驗 獲得超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


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

TA貢獻1786條經驗 獲得超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


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

TA貢獻1835條經驗 獲得超7個贊

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


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


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

    print(path)

給出:


something.txt

主要區別在于它filter返回一個迭代器,因此如果您只需要打?。ɑ蛘咧皇遣恍枰鎯λ衅ヅ漤棧?,這不會在內存中創建另一個列表。


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

TA貢獻1772條經驗 獲得超6個贊

您應該為此使用該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


查看完整回答
反對 回復 2022-07-26
  • 5 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號