Skip to main content
 首页 » 编程设计

python之扁平化和解包列表

2025年05月04日18mq0036

这是我的一些代码,它真的很丑,我希望有人能告诉我如何让它变得更好。我隐约知道如何修复这段代码,但无法在实践中得到任何改进。

list1 = ([1, 10]) 
array2 = numpy.ones((1,3)) 
array3=numpy.ones((1,2)) 
 
conn = sqlite3.connect("a.db") 
c = conn.cursor() 
c.execute("insert into a_table values(?, ? , ?, ?, ?, ?, ?)", (list1[0], list1[1], array2[0][0], array2[0][1], array2[0][2], array3[0][0], array3[0][1])) 
#

我想我需要做的是将 list1、array2 和 array3 附加到列表中,然后以某种方式将其展平。然后用一个命令以某种方式将整个列表解压到表中......谢谢!

请您参考如下方法:

你可以使用 ravel使 array2 和 array3 一维:

In [149]: import itertools 
 
In [150]: list(itertools.chain(list1, array2.ravel(), array3.ravel())) 
Out[150]: [1, 10, 0, 1, 2, 0, 1]