Краткий ответ: да, вы правы в своем понимании .
Есть только одна загвоздка: способ, которым вы обычно используете понимание вложенного списка в коде Python, заключается в работе с многомерныммассивы.
Типичным примером является работа с матрицами:
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> [[el - 1 for el in row] for row in matrix]
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
Как вы можете видеть, «вложенность» работает, работая с каждым измерением матрицы.
В предоставленных вами примерах, похоже, что ySet
[неудачное имя, кстати, поскольку наборы являются одним из типов, предоставляемых с python], это просто общий счетчик, который делаетнемного сложнее следить за тем, что происходит под капотом.
Что касается вашего первого примера:
>>> rows = ([1, 2, 3], [10, 20, 30])
>>> [(min([row[i] for row in rows]),max([row[i] for row in rows])) for i in range(len(rows[0]))]
[(1, 10), (2, 20), (3, 30)]
Возможно, вы захотите заглянуть во встроенный zip функция:
>>> zip(rows[0], rows[1])
[(1, 10), (2, 20), (3, 30)]
или для максимальной краткости и элегантности:
>>> zip(*rows)
[(1, 10), (2, 20), (3, 30)]
HTH!