

























这是一个创建于 103 天前的主题,其中的信息可能已经有所发展或是发生改变。
将二维数组 lists = [[1, 2], [3, 4], [5]] 展开成一维数组 [1, 2, 3, 4, 5]
之前写法:[x for L in lists for x in L]
Python 3.15 新语法:[*L for L in lists]
这个新语法真是简洁又直观,,这么符合直觉的语法怎么之前没想到添加??
1 JeffGe 3 月 3 日确实很符合直觉,我没去查资料之前还以为这语法早就可以用了。 |
2 glacer 3 月 3 日同,我自己想也是想到这样做。 |
3 yuruizhe 3 月 3 日我都是 |
5 june4 3 月 3 日这点功能搞个新语法?不能 [x for L in lists.flat()] 吗 |
6 fisherman0459 3 月 3 日list(itertools.chain.from_iterable(lists)) |
7 Ketteiron 3 月 3 日@june4 #5 行不通,js 的 flat 只会对真正的数组进行操作,会使用类似 Array.isArray() 的判断,但 py 会产生歧义 |
8 szyp 3 月 3 日之前还直接这么试过,报错,直觉上就应该这么实现 |
9 XIVN1987 3 月 3 日@june4 python 中 *list 解包这个语法存在很久了,,现在只是又扩展了它的应用范围 比如下面这两个解包用法在之前的 python 版本中就有了,,所以才说这个新添加的用法符合直觉,,因为它和之前的解包语法完全一致: In [10]: l1 = [1, 2, 3] In [11]: l2 = [4, 5] In [12]: [*l1, *l2] In [13]: def test(a, b): print(a, b) In [14]: test(*l2) |
11 nonduality 3 月 4 日```python |
12 luckyc 3 月 7 日想要 js 的解构: ```javascript ``` |
13 iorilu 3 月 10 日可以, 不过我现在一般都用 3.12 版, 太新了很多库都不能用 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。