【发布时间】:2021-12-16 11:43:00
【问题描述】:
我有这份清单:
Peer_List_Members = [1967, 2338, 421, 1275, 2499, 2240, 881, 2719, 2894, 2198, 3120, 3160, 635]
我按如下方式遍历这个列表:
for x in Peer_List_Members:
x = ID_Search(str(x))
print(x)
上述函数通过函数“ID_Search(input_id)”传递每个元素,然后在数据库中查找数字的值并返回查找值:
def ID_Search(input_id):
returns_name = pd.read_sql_query("""
SELECT BaseHoldingID
FROM Holdings
WHERE HoldingID=""" + input_id
, conn)
returns_name = pd.DataFrame(returns_name)
BaseHoldingID = returns_name['BaseHoldingID'][0]
return(BaseHoldingID)
print(x) 的输出如下:
1774
2134
421
1267
2295
2046
867
2517
2694
2010
2874
2913
629
但是当迭代并尝试使用以下方法保存到新列表(lst)时:
lst=[]
for x in Peer_List_Members:
x = ID_Search(str(x))
lst.append(x)
print(lst)
我得到了这个奇怪的输出!
[1774]
[1774, 2134]
[1774, 2134, 421]
[1774, 2134, 421, 1267]
[1774, 2134, 421, 1267, 2295]
[1774, 2134, 421, 1267, 2295, 2046]
[1774, 2134, 421, 1267, 2295, 2046, 867]
[1774, 2134, 421, 1267, 2295, 2046, 867, 2517]
...........
[1774, 2134, 421, 1267, 2295, 2046, 867, 2517, 2694, 2010, 2874, 2913, 629]
问题:首先我如何在附加时修复奇怪的输出。但理想情况下,我想将原始列表与新列表组合成一个数据框。
感谢您的任何帮助!非常感谢。
【问题讨论】:
-
您只创建一个空列表一次,因此每次浏览列表时,您都在添加最新项目并打印整个列表,而不是打印最新条目。如果您只想打印最近的项目,您可以使用
print(lst[-1])。
标签: python pandas list dataframe function