我需要以集合的形式打印列表的元素。所以如果我有列表[1,2,3],那麼print語句需要返回{1,2,3}。如何以集合的格式打印列表。在Python3中
-3
A
回答
1
這
s=[1,2,3]
print("{"+str(s)[1:-1]+"}")
+0
這對我所需要的很好。對不起,我沒有發佈我已經做了什麼,但我完全失去了如何實現這一點,並沒有太多的事情要繼續下去。 – Ginjo 2014-09-20 15:39:07
1
這裏有一種方法(其中x
是你的列表):
>>> print("{" + ', '.join(str(item) for item in x) + "}")
{1, 2, 3}
+0
我會用'repr(item)'而不是'str(item)'來完成格式匹配。對整數無關緊要,但對於其他的東西如字符串和浮點數也是如此。編輯:我沒有注意到這是Python3,忘記了我所說的有關浮動。儘管如此,仍然是計數字符 – 2014-09-19 21:20:21
1
如果你想具體的格式,你需要編寫自己。
這裏是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
以上...
1
如果你想要一套,爲什麼不把列表變成一個集?隨着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}
0
("{{{}}}".format(",".join(map(str,l))))
{1,2,3}
0
從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