Python печатает список наборов без скобок

У меня есть список наборов (с использованием Python). Есть ли способ распечатать это без использования "set ([])" и просто выводить фактические значения, которые они удерживают?

Сейчас я получаю что-то вроде этого для каждого элемента в списке

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

И я хочу, чтобы это было больше похоже на

blah,blahh,blahhh

Ответ 1

Множество способов, но первое, что произошло со мной, это:

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

Преобразуйте все в набор в строку и соедините их вместе с запятыми. Очевидно, что ваше предпочтение для отображения может отличаться, но вы можете с радостью передать это на print. Должен работать в python 2 и python 3.

Для списка наборов:

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

Ответ 2

Я предполагаю, что вам требуется строковое представление элементов в вашем наборе. В этом случае это должно работать:

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

Однако это зависит от элементов s, имеющих метод __str__, поэтому имейте это в виду при печати элементов в вашем наборе.

Ответ 3

Предполагая, что ваш список наборов называется set_list, вы можете использовать следующий код

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

Если set_list равно [{1,2,3}, {4,5,6}], то выход будет

1, 2, 3
4, 5, 6