@Michelin123

Как перейти из строки в множество?

Например: [['211', '218', '108'], ['218', '108', '548']]
Должно получится: [[{211},{218},{108}],[{218},{108},{548}]]
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
income = [['211', '218', '108'], ['218', '108', '548']]
outcome = [[{211},{218},{108}],[{218},{108},{548}]]


def toset(argument):
    for number, element in enumerate(argument):
        argument[number] = set()
        argument[number].update({int(element)})
    return argument


print(list(map(toset, income)) == outcome)

Тут ответ на твой первоначальный вопрос.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
adugin
@adugin Куратор тега Python
import re
from ast import literal_eval as eval

src =  [['211', '218', '108'], ['218', '108', '548']]

# Вариант №1
dst = [[{int(item)} for item in subseq] for subseq in src]

# Вариант №2
dst = eval(re.sub("'(\d+)'", "{\g<1>}", str(src)))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы