Печать отформатированных вложенных списков со строками и целыми числами в каждом подсписке - PullRequest
0 голосов
/ 12 ноября 2018
list = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]

У меня есть вложенный список, похожий на приведенный выше, с каждым подсписком, содержащим строку и целое число.Когда я нажимаю «print» в цикле for, я получаю уродливый неформатированный вывод;

for item in list:
print(item)

Я бы хотел немного привести его в порядок (т.е. снять скобки и цитаты), но не могу понять, какЯ бы сделал это.Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Вы работаете с многомерным списком.

Этот код работает для одного списка измерений:

for item in list:
    print(item)

Вы можете получить любой элемент в списке, используя номер, используя позицию в списке элемента. Число 0 для первого элемента, число 1 для второго элемента в списке и т. Д.

Так же с:

list = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]
list[0]

Вы получаете первый список внутри исходного списка:

["John Doe", 40]

То есть с кодом:

list = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]
list[0][0]

Вы извлекаете имя из первого встроенного списка:

"John Doe"

и с кодом:

list = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]
list[0][1]

Вы извлекаете возраст из встроенного списка:

"40"

Вы можете выполнить итерацию в многомерном списке, ссылаясь на каждый элемент по его позиции в списке:

list = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]

for elemento in list:
    print("Name: " + str(elemento[0]))
    print("Age: " + str(elemento[1]))
    print(" - - -  - - -  - - -  - - -  - - -  - - -  - - - ")
0 голосов
/ 12 ноября 2018

Попробуйте *, иногда называемый оператором "splat", который распаковывает список для вас.

items = [["John Doe", 40], ["Jane Doe", 38],["Joe Bloggs", 34]]

for item in items:
    print(*item)

# OUTPUT
# John Doe 40
# Jane Doe 38
# Joe Bloggs 34
...