簡體   English   中英

如何去除列表中每個項目的前 2 個字符以外的所有內容?

[英]How to strip everything but the first 2 characters for each item in a list?

我正在使用從包含多個配置文件的目錄生成的列表。 所有配置文件都遵循相同的命名約定,它們以兩個字母開頭,后跟 2-3 個數字並以.conf 結尾

aa01.conf, aa02.conf, aa03.conf, bb01.conf, bb02.conf,...zz99.conf, zz100.conf

我只對每個文件開頭的兩個字母感興趣。 如何去除數字“.conf”,然后從結果中刪除所有重復項?

如果您只想要前兩個字符:

list_1 = ['aa01.conf', 'aa02.conf', 'aa03.conf', ... 'zz99.conf', 'zz100.conf']
list_2 = [item[:2] for item in list_1]

刪除重復項

list_3 = list(set(list_2))

要擁有前兩個字符和擴展名,您可以執行以下操作

your_list = ["aa01.conf", "aa02.conf", "aa03.conf", "bb01.conf", "bb02.conf"]

your_list_with_out_duplicates = list(set(your_list))
your_lis_of_first_two_char = [
    f"{x[:2]}.{x[-4:]}" for x in your_list_with_out_duplicates
]
print(your_lis_of_first_two_char)

output

['bb.conf', 'aa.conf', 'aa.conf', 'aa.conf', 'bb.conf']

暫無
暫無

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

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