gpt4 book ai didi

python - 正确格式的列表元素的长度

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:59 24 4
gpt4 key购买 nike

假设我有以下列表:

l=[[["a", "b", "c", "k"], ["a", "b", "c", "s", "u"], ["a", "b", "f", "t"], ["a", "b", "e", "l", "n", "o"]],[["a", "b", "d", "n", "o"], ["a","b", "d", "e", "n", "o"]]]

我想遍历每个元素并找到执行此操作的长度:

s=[]
for i in l:
for j in i:
s.append(len(j))

正确地给出了如下长度:

[4, 5, 4, 6, 5, 6]

但是 l 本身的长度为 2,所以我希望我的输出如下所示:

[[4, 5, 4, 6],[5, 6]]

我想知道为什么会发生这种扁平化?

最佳答案

您可以使用嵌套列表理解 来保留嵌套结构:

[[len(j) for j in i] for i in l]
#[[4, 5, 4, 6], [5, 6]]

如果你喜欢 for 循环,你可以预先初始化嵌套列表,考虑到 l 的长度,然后使用 enumerateappend 到每个子列表:

s = [[] for i in range(len(l))]
for ix, i in enumerate(l):
for j in i:
s[ix].append(len(j))

关于python - 正确格式的列表元素的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com