我创建了一个包含随机字母(大写和小写)的列表。我正在尝试编写代码,以便它只打印考虑大写和小写的唯一值。例如,["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/