获取远程服务器证券数据时的问题

请教,aa是清洗后的STR,复制放入最后一句括号的aa可获取到数据,为何直接引用aa就不行呢?

for index in range(0,len(ll),step):
            item = ll[index:index+step]  #list
            aa=str(item).replace('"','')
            print(aa,type(aa))
            api.get_se_qu(aa)
            

aa清洗后是[(0,'000001'), (0,'000002'), (0,'000004'), (0,'000005'), (0,'000006'), (0,'000007'), (0,'000008'), (0,'000009')] <class 'str'>
以下代码可以,其中get_se_qu这个函数用于获取远程服务器证券数据:

api.get_se_qu([(0,'000001'), (0,'000002'), (0,'000004'), (0,'000005'), (0,'000006'), (0,'000007'), (0,'000008'), (0,'000009')] )

但api.get_se_qu(aa) 这样直接引用aa就不行,aa是同样的内容。
在上面代码中,ll是一个列表,打印ll后结果为:
["(0,'000001')", "(0,'000002')", "(0,'000004')", "(0,'000005')", "(0,'000006')"] <class 'list'>
ll是通过下面代码得到的:

    ll=[]
    rows=len(lis)
    # print(rows)
    for i in range(0,rows):
        if lis[i][0]!='6':
            data = '(0,'+"'"+lis[i]+"'"+')'
            ll.append(data)
        else:
            data = "(1,"+"'"+lis[i]+"'"+")"
            ll.append(data)
    print(ll[0:5],type(ll))  #ll list
请先 登录 后评论

1 个回答

logger

l = ["(0,'000001')", "(0,'000002')", "(0,'000004')", "(0,'000005')", "(0,'000006')"]
lis=[eval(i) for i in l]

ll=[(0, s) if s[0] != '6' else (1, s) for s in lis]
请先 登录 后评论