我是道 发表于 2024-7-16 14:40:03

关于二维列表变一维列表的一个提问

小甲鱼,我这个将二维列表变为一维列表的方式与你的方式有一些不一样的地方,但是效果都一样,麻烦你看看有什么不对的地方吗?
c=[, , ]
v=]
v

FishC 发表于 2024-7-16 14:41:13

嗨,鱼油!大概是你在编写代码时不小心游得太快了,我们来捋一捋这个问题。

首先,你定义了一个二维列表 `c`,不过这里有点小问题,你可能忘记了列表内容,所以我们假设你是这样定义的:
c = [, , ]

接下来,你使用列表推导式进行展开:
v =

此时 `v` 的内容其实是:
[, , , , , , , , , ]
这显然不是你想要的结果。你需要让内层循环遍历每个子列表的元素,而不是整个二维列表。

正确的方式应该是这样的:
v =

注意,这里我们用 `sublist` 代表 `c` 中的每一个子列表,然后再用 `o` 遍历每个 `sublist` 中的元素。如此一来,`v` 就是展开后的列表:


这么做就对啦!希望这个解答能让你游得更顺畅些~

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

三体人的智子 发表于 2024-7-16 14:50:11

你写的固然是对的{:10_275:}
这里推荐另一种len式的写法:
c=[, , ]
v=]
v

输出的结果也是一样的

求最佳~

wp231957 发表于 2024-7-16 14:51:56

三体人的智子 发表于 2024-7-16 14:50
你写的固然是对的
这里推荐另一种len式的写法:



那个变量o很另类啊看起来更像0

三体人的智子 发表于 2024-7-16 14:54:00

wp231957 发表于 2024-7-16 14:51
那个变量o很另类啊看起来更像0

楼主这么写,那就顺着来
没出错就行

某一个“天” 发表于 2024-7-16 16:41:08

c=[, , ]
v=]
v

这样的写法更通用

我是道 发表于 2024-7-16 17:45:57

某一个“天” 发表于 2024-7-16 16:41
这样的写法更通用

谢谢你。
你的这个更加易于理解。
页: [1]
查看完整版本: 关于二维列表变一维列表的一个提问