JuniorКодИногдаЕщё не отвечали
Преобразовать список одноэлементных кортежей в список строк
Дан список одноэлементных кортежей; верните плоский список внутренних значений.
data = [('as_admin1',), ('as_admin2',), ('as_admin3',)]
# нужно: ['as_admin1', 'as_admin2', 'as_admin3']
def flatten(data: list) -> list:
# ваш код здесь
Допишите реализацию.
Берём первый элемент каждого кортежа: [t[0] for t in data]. Одноэлементный кортеж записывается ('x',) с запятой в конце, поэтому индексация [0] достаёт единственное значение. Эквивалентные формы — [v for (v,) in data] (распаковка кортежа в цели цикла) или list(map(lambda t: t[0], data)).
- ✗Забывать, что одноэлементный кортеж требует
[0]для разворачивания - ✗Думать, что
str(t)чисто даёт внутреннее значение - ✗Путать индекс внешнего списка с индексом внутреннего кортежа
- →Как развернуть кортежи, которые могут держать больше одного значения?
- →Почему
('x')отличается от('x',)?