我想知道是否有一条快捷方式可以在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) 如何重复列表的每个元素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)
必须有一个简单而聪明的方式.
我有一个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)
应保留元素的顺序.
我有
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)
最优雅的方式是什么?
给定一个迭代器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解决方案在这里不起作用.