从这样的列表( original_list ):
[[], (['2313240'], 51.0), (['2313301'], 55.0), (['2313467'], 51.0)]
我需要创建另一个仅包含[0]元素的列表( result_list )(例如 2313240 ),因此我尝试使用 2313240 来提取它:
for row in range(1, len(original_list)):
result_list.append(original_list[row][0][0])
但它的结果与此相似:
['2313240', '2313301', '2313467']
当我真的想要实现这样的事情时(没有括号的元素):
[2313240, 2313301, 2313467]
因此,我可以将其用作查询的参数:
cursor.execute(sql,[result_list])
现在它记录以下错误:
pymysql.err.InternalError:(1241,'操作数应包含1 柱(一个或多个)&#39)
我不知道如何解决这个问题,因为我是Python中的乞丐。
答案 0 :(得分:2)
在将值附加到数组之前,只需转换为int
:
result_list.append(int(original_list[row][0][0]))
答案 1 :(得分:0)
在我的评论中,更好的方法是使用列表理解:
L1 = [[], (['2313240'], 51.0), (['2313301'], 55.0), (['2313467'], 51.0)]
In[3]:[int(elt[0][0]) for elt in L1 if len(elt) == 2]
Out[3]: [2313240, 2313301, 2313467]