在每个子列表中打印带有字符串和整数的格式化嵌套列表

时间:2018-11-12 17:16:29

标签: python python-3.x string-formatting nested-lists

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

我有一个类似于上面的嵌套列表,每个子列表包含一个字符串和一个整数。在for循环中点击print时,我得到的是丑陋的,未格式化的输出;

for item in list:
print(item)

我想整理一下(例如,删除方括号和引号),但无法理解如何做。有人可以帮我吗?

2 个答案:

答案 0 :(得分:4)

尝试使用*(有时也称为“ 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

答案 1 :(得分:0)

您正在使用多维列表。

此代码适用于一维列表:

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(" - - -  - - -  - - -  - - -  - - -  - - -  - - - ")