Преобразовать сет (Python)
Есть сет set = {'lol', 'kek', 'cheburek'}
Как мне вывести в нужном мне порядке к примеру что бы было в принте 'cheburek', 'lol', 'kek'
НУЖНО что бы в принте, не было скобок типа " ( ) [ ] { } " Только такой вывод 'cheburek', 'lol', 'kek'
Ответы (3 шт):
Автор решения: finally
→ Ссылка
странное желание сортировать множества.. но допустим:
>>>elements = {'lol', 'kek', 'cheburek'}
>>>print(sorted(elements, key=lambda x: x[0]))
['cheburek', 'kek', 'lol']
>>>
тут сортировка идет по первому элементу строки..
но в вашем примере сортировка идет вообще не пойму по какому правилу, так что пути два:
-смириться с порядком букв в алфавите
-придумать свое правило, и переопределить функцию sort()
Автор решения: drander_storm
→ Ссылка
set = {'lol', 'kek', 'cheburek'}
print(set[2], set[0], set[1], sep ='\n')
Автор решения: Wairua
→ Ссылка
set_ = {'lol', 'kek', 'cheburek'}
print(sorted(set_, key=lambda x: x[2]))
# ['cheburek', 'kek', 'lol']
print(sorted(set_, key=lambda x: x[2], reverse=True))
# ['lol', 'kek', 'cheburek']
print(*sorted(set_, key=lambda x: x[2], reverse=True), sep=', ')
# lol, kek, cheburek
print(', '.join(sorted(set_, key=lambda x: x[2], reverse=True)))
# lol, kek, cheburek
print("'" + "', '".join(sorted(set_, key=lambda x: x[2], reverse=True)) + "'")
# 'lol', 'kek', 'cheburek'