相关疑难解决方法(0)

理解扁平序列序列?

如果我有序列序列(可能是元组列表),我可以使用itertools.chain()来展平它.但有时我觉得我宁愿把它写成一种理解.我只是想不出怎么做.这是一个非常具体的案例:

假设我想在序列中交换每对元素.我在这里使用字符串作为序列:

>>> from itertools import chain
>>> seq = '012345'
>>> swapped_pairs = zip(seq[1::2], seq[::2])
>>> swapped_pairs
[('1', '0'), ('3', '2'), ('5', '4')]
>>> "".join(chain(*swapped_pairs))
'103254'
Run Code Online (Sandbox Code Playgroud)

我在序列的偶数和奇数切片上使用zip来交换对.但我最终得到了一个现在需要扁平化的元组列表.所以我使用chain().有没有办法可以用理解来表达它?

如果你想发布你自己的解决方案来解决交换对的元素的基本问题,请继续,我会投票给任何教我新东西的东西.但是,即使答案是"不,你做不到",我也只会接受一个针对我的问题的答案.

python sequences list-comprehension

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

如何取消嵌套列表?

可能重复:
在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中许多列表的连接

假设我有这样的函数:

def getNeighbors(vertex)
Run Code Online (Sandbox Code Playgroud)

它返回一个顶点列表,这些顶点是给定顶点的邻居.现在我想创建一个包含邻居所有邻居的列表.我这样做:

listOfNeighborsNeighbors = []
for neighborVertex in getNeighbors(vertex):
    listOfNeighborsNeighbors.append(getNeighbors(neighborsVertex))
Run Code Online (Sandbox Code Playgroud)

是否有更多的pythonic方式来做到这一点?

python list concatenation

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

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

复制列表中的每个成员 - python

我想写一个复活列表的函数,[1,5,3,6,...][1,1,5,5,3,3,6,6,...] 想知道如何做到这一点?谢谢

python list

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

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

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

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万
查看次数

Python MySQLDB:在列表中获取fetchall的结果

我想在列表中获取fetchall操作的结果,而不是元组或元组元组的元组.例如,

cursor = connection.cursor() #Cursor could be a normal cursor or dict cursor
query = "Select id from bs"
cursor.execute(query)
row = cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

现在,问题是结果行是((123,),(234,))或({'id':123},{'id':234})我要找的是(123,234)或[ 123234].如果我可以保存解析结果集,那就最好了.提前致谢

python django mysql-python

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

如何在不使用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将元组转换为数组

如何将3-Dimensinal元组转换为数组

a = []
a.append((1,2,4))
a.append((2,3,4))
Run Code Online (Sandbox Code Playgroud)

在一个数组如:

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

python list

24
推荐指数
3
解决办法
8万
查看次数

python:可以减少被翻译成map,lambda和filter这样的列表推导吗?

当在Python编程,我现在避免map,lambdafilter通过使用列表理解,因为它是在执行中更容易阅读和更快.但也reduce可以替换?

例如,对象具有union()在另一个对象上工作的运算符a1.union(a2),并且给出相同类型的第三个对象.

我有一个对象列表:

L = [a1, a2, a3, ...]
Run Code Online (Sandbox Code Playgroud)

如何将所有这些对象的union()与列表推导相对应,相当于:

result = reduce(lambda a, b :a.union(b), L[1:], L[0])
Run Code Online (Sandbox Code Playgroud)

python reduce list map-function

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