如何在Python上使用map和set



有没有办法让它更干净一点?在做了一个操作之后,我必须把所有的东西都转换成一个列表,这行代码让我很困扰。我是一种新的编程,希望有一些更像样的东西。这个解决方案对我来说很有效,但是有点难看。

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}]

相关内容

  • 没有找到相关文章

最新更新