2013-07-19 16 views
10

Mam listę zestawów (używając Pythona). Czy istnieje sposób wydrukowania tego bez otaczających go elementów "set ([])" i po prostu wyprowadzić rzeczywiste wartości, które trzymają?Lista drukowania zestawów w języku Python bez nawiasów

Teraz dostaję somthing tak dla każdej pozycji na liście

set(['blah', 'blahh' blahhh')] 

I chcę, żeby wyglądać bardziej jak to

blah,blahh,blahhh 
+0

Czy możesz podać przykład jakiego rodzaju produkcji chcesz? – murgatroid99

+0

można po prostu zapętlić elementy zestawu i wydrukować każdy element oddzielnie – ala

+0

Co powiesz na "listę (listy)" lub czy ma ona wciąż zbyt wiele nawiasów? – wflynny

Odpowiedz

15

wiele sposobów, ale ten, który Przyszło mi najpierw:

s = set([0,1]) 
", ".join(str(e) for e in s) 

Konwertuj wszystko w zestawie na ciąg znaków i dołącz do nich razem z mmas. Oczywiście twoje preferencje dotyczące wyświetlania mogą się różnić, ale możesz z radością przekazać to do print. Powinien pracować w Pythonie 2 i Python 3.

Na liście zestawów:

l = [{0,1}, {2,3}] 
for s in l: 
    print(", ".join(str(e) for e in s)) 
3

Jestem zakładając chcesz reprezentację ciąg elementów w zestawie. W tym przypadku powinno to działać:

s = set([1,2,3]) 
print " ".join(str(x) for x in s) 

Jest to jednak zależne od elementów s o metodę __str__, więc miej to na uwadze podczas drukowania elementów w zestawie.

+0

będzie działać nieprawidłowo, jeśli zostanie ustawiony jako 1 element – Dani

1

Zakładając, że lista zestawów nazywa set_list, można użyć następującego kodu

for s in set_list: 
    print ', '.join(str(item) for item in s) 

Jeśli set_list jest równa [{1,2,3}, {4,5,6}], to wyjście będzie

1, 2, 3 
4, 5, 6 
Powiązane problemy