相关疑难解决方法(0)

如何从列表列表中制作一个平面列表?

我想知道是否有一条快捷方式可以在Python列表中列出一个简单的列表.

我可以在for循环中做到这一点,但也许有一些很酷的"单行"?我用reduce尝试了,但是我收到了一个错误.

l = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
reduce(lambda x, y: x.extend(y), l)
Run Code Online (Sandbox Code Playgroud)

错误信息

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <lambda>
AttributeError: 'NoneType' object has no attribute 'extend'
Run Code Online (Sandbox Code Playgroud)

python list flatten multidimensional-array

2950
推荐指数
29
解决办法
184万
查看次数

交换列表中元素的更好方法是什么?

我有一堆看起来像这样的列表:

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

我想交换元素如下:

final_l = [2, 1, 4, 3, 6, 5, 8, 7, 10, 9]
Run Code Online (Sandbox Code Playgroud)

列表的大小可能会有所不同,但它们总是包含偶数个元素.

我是Python的新手,我现在这样做:

l =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
final_l = []
for i in range(0, len(l)/2):
    final_l.append(l[2*i+1])
    final_l.append(l[2*i])
Run Code Online (Sandbox Code Playgroud)

我知道这不是真正的Pythonic,并且想要使用更高效的东西.也许列表理解?

python

50
推荐指数
4
解决办法
1万
查看次数

如何将列表项分组为元组?

我有一个数字列表,如何将每个n数字组合成一个元组?

例如,如果我有一个列表,a = range(10)并且我想将每5个项目组合成一个元组,那么:

b = [(0,1,2,3,4),(5,6,7,8,9)]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?如果len(a)不是整数倍,我也想提出一个错误n.

python tuples list

1
推荐指数
1
解决办法
3707
查看次数

标签 统计

python ×3

list ×2

flatten ×1

multidimensional-array ×1

tuples ×1