给定python中的列表,为每个条目添加一个数字

给定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) 它成功了。输出如下:

更新#3:记录答案

此处使用了以下代码:

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(某些列表)])