【发布时间】:2021-05-27 22:12:10
【问题描述】:
我正在通过自动化无聊的东西,diong第6章第一次练习问题:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
我想在不使用 zip 函数或 map 的情况下尝试以下输出,因为我强迫自己在不使用这些方法的情况下深入了解列表操作。
苹果 |爱丽丝 |狗
橙子|鲍勃 |猫
樱桃 |卡罗尔 |驼鹿
香蕉 |大卫 |鹅
到目前为止,我已经尝试了以下方法:
for i in range(len(tableData[0])):
print(' '.join(subLst[i] for subLst in tableData))
这确实给了我预期的输出,但是我使用的范围参数感觉有点野蛮,所以有没有其他方法可以解决这个问题??
【问题讨论】:
-
如果问题假设所有子列表的长度相同,那么我认为您的方法没有任何问题。
-
是的,根据对该问题的描述,我们可以假设所有子列表的长度都相同。如果有更好的解决方法,再次满足我内心的好奇心。
-
尽管你很专注,
print(*map(' '.join, zip(*tableData)), sep='\n')几乎是不可抗拒的,再次假设子列表的长度相同。我确实想知道为什么大卫错过了复数形式。
标签: python list nested-lists