簡體   English   中英

我想從 python 的列表中打印唯一的字符串,但它破壞了列表

[英]I want to print unique strings from a list in python but it breaks the list

我正在嘗試通過以下方式獲取不同的文件路徑:

for (i, imagePath) in enumerate(imagePaths):
    name = set(imagePath.split(os.path.sep)[-2])

它帶來了多個具有相同名稱的路徑,例如:Angelina Jolie Angelina Jolie Sam Sam Sam

我想做的是打印其中獨特的。 像印安吉麗娜朱莉只有一次。 但是無論我嘗試的是唯一方法,還是將列表轉換為集合的 set 方法,它都會返回類似這樣的內容。 而且我不理解這背后的邏輯。

{'l'、'e'、'J'、'g'、'i'、''、'o'、'a'、'A'、'n'} {'l'、'e'、' J','g','i','','o','a','A','n'} {'l','e','J','g','i' ,'','o','a','A','n'} {'l','e','J','g','i','','o','a ', '一個'}

請幫助我嘗試了解為什么會發生這種情況以及我應該尋找什么解決方案?

有兩種方法可以刪除重復項。

list(dict.fromkeys(imagePaths).keys())
# or
list(set(imagePaths)) # If you don't care about order

順便說一句,您不一定必須轉換為列表。

暫無
暫無

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

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