Есть ли лучший способ извлечь информацию из строки?

Использовать простые для цикла и " ".join() сопоставление каждого int во вложенном списке с str с map().

Пример:

>>> ys = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
>>> for xs in ys:
...     print(" ".join(map(str, xs)))
... 
1 2 3
4 5 6
7 8 9 10

Разница здесь в том, что мы можем поддерживать произвольные длины внутренних списков.


Причина, по которой ваш пример не работал должным образом, потому что ваш внутренний цикл выполняет итерацию по каждому элементу под-списка; / g3]

for r in A:  # r = [1, 2, 3]
    for t in r:  # t = 1 (on first iteration)
        print(t,)
    print

И print() по умолчанию печатает символы новой строки в конце, если вы не используете: print(end="") Я считаю, что если вы используете Python 2.x print t,, это сработает. Например:

>>> ys = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
>>> for xs in ys:
...     for x in xs:
...             print x,
...     print
... 
1 2 3
4 5 6
7 8 9 10

Но print(x,) не будет работать так, как вы это предполагали; Python 2.x или 3.x

18
задан Shidersz 14 February 2019 в 03:57
поделиться