相关疑难解决方法(0)

如何取消嵌套列表?

可能重复:
在Python中列出列表列表中的平面列表

我试图找到一种简单的方法将多维(嵌套)python列表转换为单个列表,其中包含子列表的所有元素.

例如:

A = [[1,2,3,4,5]]
Run Code Online (Sandbox Code Playgroud)

转向

A = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

要么

A = [[1,2], [3,4]]
Run Code Online (Sandbox Code Playgroud)

转向

A = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

python

35
推荐指数
4
解决办法
8万
查看次数

在Python中将多维列表转换为1D列表

像这样的多维列表l=[[1,2],[3,4]]可以通过执行转换为1D 列表sum(l,[]).任何人都可以解释一下这是怎么回事?

响应者说,这种技术只能用于"压扁"2D列表 - 它不适用于更高的多维列表.但如果重复,它确实如此.例如,如果A是3D列表,则sum(sum(A),[]),[])将A压缩为1D列表.

python

30
推荐指数
2
解决办法
6万
查看次数

如何使用列表推导将元组元组转换为一维列表?

我有一个元组元组 - 例如:

tupleOfTuples = ((1, 2), (3, 4), (5,))
Run Code Online (Sandbox Code Playgroud)

我想按顺序将其转换为所有元素的平面一维列表:

[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

我一直试图通过列表理解来实现这一目标.但我似乎无法弄明白.我能够通过for-each循环完成它:

myList = []
for tuple in tupleOfTuples:
   myList = myList + list(tuple)
Run Code Online (Sandbox Code Playgroud)

但我觉得必须有一种方法可以通过列表理解来做到这一点.

一个简单的[list(tuple) for tuple in tupleOfTuples]只是给你一个列表列表,而不是单个元素.我想我可以通过使用解包操作符然后解压缩列表来构建它,如下所示:

[*list(tuple) for tuple in tupleOfTuples]
Run Code Online (Sandbox Code Playgroud)

要么

[*(list(tuple)) for tuple in tupleOfTuples]
Run Code Online (Sandbox Code Playgroud)

......但那没用.有任何想法吗?或者我应该坚持循环?

python tuples list-comprehension iterable-unpacking

30
推荐指数
5
解决办法
5万
查看次数

30
推荐指数
4
解决办法
4万
查看次数

Python - 将列表的字典展平为唯一值?

我在python中有一个列表的词典:

content = {88962: [80, 130], 87484: [64], 53662: [58,80]}
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个唯一值的列表

[58,64,80,130]
Run Code Online (Sandbox Code Playgroud)

我写了一个手动解决方案,但这是一个手动解决方案.我知道有更简洁,更优雅的方式来做这个与列表理解,map/reduce,itertools等等任何人都有线索?

content = {88962: [80, 130], 87484: [64], 53662: [58,80]}
result = set({})
for k in content.keys() :
    for i in content[k]:
        result.add(i)
# and list/sort/print just to compare the output
r2 = list( result )
r2.sort()
print r2
Run Code Online (Sandbox Code Playgroud)

python

27
推荐指数
3
解决办法
1万
查看次数

如何在不使用numpy的情况下将2D列表展平为1D?

我有一个列表如下:

[[1,2,3],[1,2],[1,4,5,6,7]]
Run Code Online (Sandbox Code Playgroud)

我想把它弄平 [1,2,3,1,2,1,4,5,6,7]

没有使用numpy有这么轻的功能吗?

python arrays numpy list

27
推荐指数
3
解决办法
5万
查看次数

Python成语链(flatten)无限可迭代的有限迭代?

假设我们有一个迭代器(一个无限的)返回列表(或有限迭代器),例如返回的一个

infinite = itertools.cycle([[1,2,3]])
Run Code Online (Sandbox Code Playgroud)

什么是一个很好的Python习惯用来获得一个迭代器(显然是无限的),它将从第一个迭代器返回每个元素,然后从第二个迭代器返回每个元素,等等.在上面的例子中它将返回1,2,3,1,2,3,....迭代器是无限的,所以itertools.chain(*infinite)不起作用.

有关

python iterator

23
推荐指数
2
解决办法
2万
查看次数

向python生成器添加元素

是否可以将元素附加到python生成器?

我目前正在尝试从一组无组织的文件夹中获取所有图像,并将它们写入新目录.为了获取文件,我使用的是os.walk(),它返回一个目录中的图像文件列表.虽然我可以从这个单独的列表中创建一个生成器,但我不知道如何将所有这些列表组合到一个单独的生成器中.任何帮助将非常感激.

有关:

python append generator

17
推荐指数
3
解决办法
2万
查看次数

Python检查列表是否嵌套

我有一个列表,有时它是嵌套的,有时它不是.根据它是否嵌套,延续是不同的.如何检查此列表是否嵌套?True或者False应该输出.

例:

[1,2,3] - > False

[[1],[2],[3]] - > True

python list

14
推荐指数
1
解决办法
9157
查看次数

13
推荐指数
4
解决办法
2万
查看次数