我有一个Python列表,我想用列表推导式打印其中的前五个元素。
我知道这可以通过双重列表推导来完成。目前我有以下代码:
这会抛出以下错误:
当我单独打印每个时,它能够顺利运行。我分别使用
问题在哪里呢?我有一种感觉是我的整个双重推导不对。现在我在思考:
我知道这可以通过双重列表推导来完成。目前我有以下代码:
print [[x[i] for x in mylist] for i in range(0,5)]
这会抛出以下错误:
IndexError: tuple index out of range
。当我单独打印每个时,它能够顺利运行。我分别使用
print mylist[0]
,print mylist[1]
等进行打印。问题在哪里呢?我有一种感觉是我的整个双重推导不对。现在我在思考:
[x for x in range(0,5)]
这将创建一个x的列表,范围为(0,5)。由于这是我的索引,我在此之前嵌套了另一个列表推导语句,以便在特定列表上执行操作。
任何帮助都将不胜感激。谢谢!
[[x[i] for i in range(0,5)] for x in mylist]
的另一种方式,而不是[[x[i] for x in mylist] for i in range(0,5)]
- 请仔细阅读。 - akaRem