繁体   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