我想知道是否有一条快捷方式可以在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) 我有以下数据框my_df:
name numbers
----------------------
A [4,6]
B [3,7,1,3]
C [2,5]
D [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我想将所有数字合并到一个新列表中,因此输出应该是:
new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
def combine_list(my_lists):
new_list = []
for x in my_lists:
new_list.append(x)
return new_list
new_df = my_df.agg({'numbers': combine_list})
Run Code Online (Sandbox Code Playgroud)
但new_df看起来仍然和原来的一样:
numbers
----------------------
0 [4,6]
1 [3,7,1,3]
2 [2,5]
3 [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我做错了什么?我该如何制作new_df:
new_numbers
---------------
[4,6,3,7,1,3,2,5,1,2,3]
Run Code Online (Sandbox Code Playgroud)
谢谢!