给定python中的列表,为每个条目添加一个数字
更新#3:记录答案 此处使用了以下代码:给定python中的列表,为每个条目添加一个数字,python,Python,更新#3:记录答案 此处使用了以下代码: l = ['idXchgTradeID', 'quantity', 'price', 'commission', 'commasset', 'xchgTradeID', 'status'] output = '(' + ",".join([f"{v} =:{i+1}" for i, v in enumerate( l )]).upper() + ')' print(output) 它成功了。输出如下:
l = ['idXchgTradeID', 'quantity', 'price', 'commission', 'commasset', 'xchgTradeID', 'status']
output = '(' + ",".join([f"{v} =:{i+1}" for i, v in enumerate( l )]).upper() + ')'
print(output)
它成功了。输出如下:
(IDXCHGTRADEID =:1,QUANTITY =:2,PRICE =:3,COMMISSION =:4,COMMASSET =:5,XCHGTRADEID =:6,STATUS =:7)
原始条目(进一步澄清)
我有以下资料:
# PROCESS THE "SET" CLAUSE of the UPDATE
sql_vals = []; sql_cols = []; sql_inputs = [];
# split dictionary into keys and values
sql_cols, sql_inputs = zip(*set_data['set'].items())
# did this part just to look for an answer
for count, row in enumerate(sql_cols, start=1):
sql_vals.append( count )
print( sql_cols )
print( sql_inputs )
res = { sql_cols[i]: sql_vals[i] for i in range(len(sql_cols)) }
print( res)
exit()
我得到的答案是:
('idXchgTradeID', 'quantity', 'price', 'commission', 'commasset', 'xchgTradeID', 'status')
('binancexcgid', 0.0018, 28.0, 0.0021, 'BTC', '483494384', 'FILLED')
这与我所寻求的期末考试相似:
{'idXchgTradeID': 1, 'quantity': 2, 'price': 3, 'commission': 4, 'commasset': 5, 'xchgTradeID': 6, 'status': 7}
我正在寻找类似于:
{'idXchgTradeID' = :1, 'quantity' = :2, 'price' = :3, 'commission' = :4, 'commasset' =:5, 'xchgTradeID' =:6, 'status' =:7}
它应该用作Oracle输入的一部分(如下面的示例所示)
在我看来,您可能需要类似于
枚举
函数的功能。这将提供列表中每个项目及其索引的列表
l = ['idXchgTradeID', 'quantity', 'price', 'commission', 'commasset', 'xchgTradeID', 'status']
for index,s in enumerate(l):
print(s,index+1)
输出
idXchgTradeID 1
quantity 2
price 3
commission 4
commasset 5
xchgTradeID 6
status 7
idXchgTradeID 1
quantity 2
price 3
commission 4
commasset 5
xchgTradeID 6
status 7
如果数字不一定按顺序排列,那么您似乎在寻找一本词典
。此数据结构从关键点映射到数据点
d = {
'idXchgTradeID':1,
'quantity':2,
'price':3,
'commission':4,
'commasset':5,
'xchgTradeID':6,
'status':7
}
for key, value in d.items():
print(key, value)
输出
idXchgTradeID 1
quantity 2
price 3
commission 4
commasset 5
xchgTradeID 6
status 7
idXchgTradeID 1
quantity 2
price 3
commission 4
commasset 5
xchgTradeID 6
status 7
(对我)一点也不清楚你想要的结果是什么。这应该是有效的python吗?也许你只是想在enumerate(t)中为i,v指定
(i+1,v)
在你所需的输出中,=:1
等表示什么?@MarkMeyer-重新阅读文章。上面写着“我正在寻找类似于:…”的东西。另外,请参见下面的代码。这是Oracle希望在“按参数查询”场景类型的SQL语句中发送的方式。因此,本质上,我正在寻求转换Python字典表示,以便它能够与Oracle一起工作。它看起来不像基本的python。你只是在找一根绳子吗??比如“idXchgTradeID=:1,数量=:2,价格=:3”?这么说会节省你很多时间。如果是这样,您可以:“,”.join([f“{v}=:{i+1}”表示枚举中的i,v(某些列表)])