相关疑难解决方法(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万
查看次数

重复列表的元素n次

如何重复列表的每个元素n次数并形成新列表?例如:

x=[1,2,3,4]
n=3

x1=[1,1,1,2,2,2,3,3,3,4,4,4]
Run Code Online (Sandbox Code Playgroud)

x*n 不起作用

for i in x[i]
    x1=n*x[i]
Run Code Online (Sandbox Code Playgroud)

必须有一个简单而聪明的方式.

python

39
推荐指数
5
解决办法
5万
查看次数

python列表中的重复元素

我有一个listPython:

l = ['a', 'c', 'e', 'b']
Run Code Online (Sandbox Code Playgroud)

我想立即复制原件旁边的每个元素.

ll = ['a', 'a', 'c', 'c', 'e', 'e', 'b', 'b']
Run Code Online (Sandbox Code Playgroud)

应保留元素的顺序.

python list-comprehension list

13
推荐指数
3
解决办法
2万
查看次数

python: 扁平拉链

我有

a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)

哪里a还有一个元素。 zip(a,b)返回[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]。不过,我想要

[1, 'a', 2, 'b', 3, 'c', 4, 'd']
Run Code Online (Sandbox Code Playgroud)

最优雅的方式是什么?

python

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

在迭代器中复制每个成员

给定一个迭代器i,我想要一个迭代器,它产生每个元素的n次数,即相当于这个函数

def duplicate(i, n):
    for x in i:
        for k in range(n):
            yield x
Run Code Online (Sandbox Code Playgroud)

这有一个单行吗?

相关问题:复制列表中的每个成员 - python,但zip解决方案在这里不起作用.

python iterator

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