我在 python 中有一个 list
文件名,我想从所有文件名中构建一个 set
。
filelist=[]
for filename in filelist:
set(filename)
这似乎不起作用。怎么能做到这一点?
原文由 securecoding 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 python 中有一个 list
文件名,我想从所有文件名中构建一个 set
。
filelist=[]
for filename in filelist:
set(filename)
这似乎不起作用。怎么能做到这一点?
原文由 securecoding 发布,翻译遵循 CC BY-SA 4.0 许可协议
最直接的解决办法是这样的:
s = set(filelist)
原始代码中的问题是未将值分配给 set 。这是您的代码的固定版本:
s = set()
for filename in filelist:
s.add(filename)
print(s)
原文由 Raymond Hettinger 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果你有一个可哈希对象列表(文件名可能是字符串,所以它们应该算在内):
您可以直接构建集合:
事实上,
set
将以这种方式与 任何可迭代对象一起工作! (鸭子打字不是很棒吗?)如果你想迭代地做:
但很少需要这样做。我之所以提到它,是因为
set.add
方法非常有用。