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