我需要以集合的形式打印列表的元素。所以如果我有列表[1,2,3],那么print语句需要返回{1,2,3}。如何以集合的格式打印列表。在Python3中
回答
这
s=[1,2,3]
print("{"+str(s)[1:-1]+"}")
这对我所需要的很好。对不起,我没有发布我已经做了什么,但我完全失去了如何实现这一点,并没有太多的事情要继续下去。 – Ginjo 2014-09-20 15:39:07
这里有一种方法(其中x
是你的列表):
>>> print("{" + ', '.join(str(item) for item in x) + "}")
{1, 2, 3}
我会用'repr(item)'而不是'str(item)'来完成格式匹配。对整数无关紧要,但对于其他的东西如字符串和浮点数也是如此。编辑:我没有注意到这是Python3,忘记了我所说的有关浮动。尽管如此,仍然是计数字符 – 2014-09-19 21:20:21
如果你想具体的格式,你需要编写自己。
这里是set
一个子类实现该格式:
class Myset(set):
def __str__(self):
return '{'+','.join(repr(e) for e in sorted(self))+'}'
print Myset([1,2,3])
# {1,2,3}
或者,只是使用Python 3倍:
>>> print(set([1,2,3]))
{1, 2, 3}
的顺序可能会有所不同,但是,如果没有,我用的sorted
以上...
如果你想要一套,为什么不把列表变成一个集?随着x
是你的清单:
>>> x=[1,2,3]
>>> x_set=set(x)
>>> print(x_set)
{1, 2, 3}
这是值得注意的是,套不排序,不能包含重复。 (但话又说回来什么是印刷奔头“喜欢”一组的好处,但不是呢?)
>>> x=[1,2,3,3,4]
>>> x_set=set(x)
>>> print(x_set)
{1, 2, 3, 4}
("{{{}}}".format(",".join(map(str,l))))
{1,2,3}
从list
扩展类并覆盖__repr__
方法
class List(list):
def __repr__(self):
return "{%s}"%(",".join([str(each) for each in self]))
l = List()
l.append(1)
l.append(2)
print l
{1,2}
- 1. Python3列表打印无空格
- 2. 在python3中打印多维列表
- 3. 如何使用java格式以表格格式打印对象列表
- 4. 如何打印列表的元素以特定的格式
- 5. 打印格式列表
- 6. 在Python中以列格式打印列表
- 7. Python3打印字符串格式化
- 8. Go lang中的打印格式列表
- 9. 如何在PHP中打印MongoDB集合?
- 10. 在Python中打印列表时控制打印格式
- 11. 列表格式化打印列表
- 12. 如何以所需格式打印数组列表?
- 13. 如何在python中以表格形式打印字典数据
- 14. 如何在SQL中以水平方式打印表格?
- 15. 如何打印格式排列列
- 16. 打印和格式化列表在Python
- 17. Shell脚本以表格格式打印
- 18. 以表格格式打印LinkedHashMap
- 19. 以表格格式打印字典?
- 20. 如何在列表中打印列表?
- 21. 以表格格式打印控制台列表
- 22. Python3:SQLITE3列表格式
- 23. 如何打印这种格式的表
- 24. 如何打印表格的两列值
- 25. 如何在Windows PowerShell中以JSON格式填充集合内的列表
- 26. 如何打印在vb6.0中的表格
- 27. 如何以JSON格式打印ctemplate :: TemplateDictionary?
- 28. 如何以JPG格式打印文档
- 29. 在列表打印C#数组中格式化的方式
- 30. awk - 以3列格式打印输出
待办事项你的意思是你需要让所有的列表看起来像集合,或者只是特别的一个?你试过什么了? – jonrsharpe 2014-09-19 21:13:24
对不起,我应该更清楚。它必须为任何名单做到这一点。 @msngupta得到了我无法想象的。 – Ginjo 2014-09-20 15:40:06