有没有办法让它更干净一点?在做了一个操作之后,我必须把所有的东西都转换成一个列表,这行代码让我很困扰。我是一种新的编程,希望有一些更像样的东西。这个解决方案对我来说很有效,但是有点难看。
exclusion_new = ["Abs", "acd", "bde", "Abs", "Kji"] #example list
x = list(set(list(map(lambda x: x.lower(), exclusion_new))))
print(x)
result: ["abs", "acd", "bde", "kji"]
您可以使用对列表进行解包并将str.lower传递给map函数来使其更简洁:
x = [*{*map(str.lower, exclusion_new)}]
可以删除一个list()
的调用:
exclusion_new = ["Abs", "acd", "bde", "Abs", "Kji"] #example list
x = list(set(map(lambda x: x.lower(), exclusion_new)))
进一步使用映射函数与lambda结合是过度
应该使用简单的列表推导式而不是:
exclusion_new = ["Abs", "acd", "bde", "Abs", "Kji"] #example list
x = set([x.lower() for x in exclusion_new])
或者集合推导式:
exclusion_new = ["Abs", "acd", "bde", "Abs", "Kji"] #example list
x = [*{x.lower() for x in exclusion_new}]