python - 在 Python 中将列表转换为集合!我究竟做错了什么?

标签 python python-3.x list set

我创建了一个包含随机字母(大写和小写)的列表。我正在尝试编写代码,以便它只打印考虑大写和小写的唯一值。例如,["A","a","a","B","b"] 将打印 ["a","b"]

到目前为止,这是我的代码:

List_1 = ["a","a","a","b","A","b", "B", "c", "C"]
for x in List_1:
    l = x.lower()
    myset = set(l)
    print(myset)

& 这是输出:

{'a'}
{'a'}
{'a'}
{'b'}
{'a'}
{'b'}
{'b'}
{'c'}
{'c'}

既然我通过集合打印这些值,为什么它仍然打印重复值?我做错了什么?

最佳答案

你在每次循环迭代中创建一个新集合是错误的。

代替

myset = set(l)

你想用

myset.add(l)

并在循环之前初始化myset = set()

或者,您可以用集合理解替换整个循环:

myset = {x.lower() for x in List_1}

关于python - 在 Python 中将列表转换为集合!我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63599948/

相关文章:

python - 什么是切片集合的pythononic方法?

python - 这是构造函数还是方法

python - 在 Qt 中将资源读入字节数组 (PyQt)

python - 将列表附加到字典中并进行更新

ios - 创建使用 XIB 文件的 Storyboard

python - 随着 Lua 和 Python 的嵌入,是否还有 Basic 的一席之地?

python - 南方移民和 Mercurial

python - 为什么 python 的 "gc.collect()"没有按预期工作?

python - 使用Django服务 protected 媒体文件

java - 简单留言板的基于列表的实现中的 NullPointerException