[英]Python call function with list from loop
我有一個 function getloantype(account_no)
我想打電話。 帳號在列表['10101-2','10101-2', '10101-3']
,我希望 function 逐個運行所有帳號並將所有結果放入另一個列表. 但是,我似乎無法讓我的代碼運行。
我做什么:首先,我讓用戶輸入他的用戶 ID,並使用它從 SQL 數據庫中獲取他擁有的所有銀行賬戶:
userid = input("Please enter user id")
conn=create_connection()
def getacct(userid):
query = """\
select Account_Number
from User_Account
where UserID = '{}'
""" .format(userid)
return (execute_read_query (conn, query))
account_no = getacct(userid)
因此,帳號最終會出現在列表 [account_no] 中。 接下來,我需要使用帳號來獲取他的貸款 ID。 第一個問題由此而來。 我是否應該將其編碼為getloanid(account_no)
或getloanid(x)
其中 x for x in account_no
?
def getloanid(x):
query = """\
select SUBSTRING(LoanID, 1, 2)
from Account_Delinquency
where Account_Number = '{}'
""" .format(account_no)
return (execute_read_query (conn, query))
從這里開始,我假設我應該做一個嵌套的 for 循環,但是按照我的編碼方式,列表仍然是空的。
loanlist = []
for i in account_no:
for x in i:
getloanid(x)
loanlist.append(i[0])
我也試過這個會返回錯誤:
'NoneType' object 不可迭代
mylist = []
loanlist = []
for i in account_no:
mylist.append(i[0])
for x in mylist:
a = getloanid(x)
for i in a:
loanlist.append(i[0])
如何對其進行編碼,以便我可以使用列表account_no = getacct(userid)
中的所有帳號調用 function getloantype(account_no)
並將所有結果附加到新列表 [loanlist] 中?
您的程序的結構以及從函數返回的數據不是很清楚,但如果我能理解,一個可能的簡單解決方案可能是這樣的:
result_list = [getloantype(account_no) for account_no in account_list]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.