你能用python把带数字的字符串转换成一个列表吗

aij0ehis  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(337)

我对编程很在行。在我大学的课程中,我们必须和spyder一起编写python,但主要是使用sql。我一直在努力解决一个问题,将一个列表传输到一个数据库时,它会将其转换为字符串,当我希望使用它时,所有的都是字符串,例如list[0]=[。我在网上搜索答案,什么都试过了,但似乎找不到答案。实际上,我还没有试过做for循环,但我想这至少会让函数更加混乱。
这是我一直在研究的函数,r的那条线只是我在捣乱,看看能不能找到一个解决方案

def GRAFICO(nomeBD, codigo):
    bd=sql.connect(nomeBD, isolation_level=None)
    com='SELECT IdV, Cargas, Deflecao, Comp, ASeccaoA, ASeccaoB, IdMV FROM Ensaios, Vigas WHERE IdV=IdE AND IdMV='+'"'+codigo+'"'+';'
    res= bd.execute(com).fetchall()
    n=len(list(res[0][1]))
    m=len(res)
    M=res[0][6]
    E_total=[]
    Id_total=''
    w_total=''
    for r in range(m+1):
        Id_total=Id_total+res[r][0]
        print(Id_total)
        w_total=w_total+res[r][1]
        print(w_total)
        for i in range(n+1):      
            w=res[r][1][i]
            r= [int(word) for word in w.split() if word.isdigit()]
            print(r)
            delta=res[r][2][i]
            L=res[r][3]
            a=res[r][4]
            b=res[r][5]
            E=equacao(w, delta, L, a, b)
            E_total.append(E)
    Media=media(E_total)
    plot1(w_total, E_total, Id_total, Media, M)

问题是我有一个这样的清单 w=['101', '109', '118', '128', '141', '157', '176'] ,但如果我这么做了 list(w) ,我明白了: ['[', "'", '1', '0', '1', "'", ',', ' ', "'", '1', '0', '9', "'", ',', ' ', "'", '1', '1', '8', "'", ',', ' ', "'", '1', '2', '8', "'", ',', ' ', "'", '1', '4', '1', "'", ',', ' ', "'", '1', '5', '7', "'", ',', ' ', "'", '1', '7', '6', "'", ']'] . 这都是字符串,我希望能够做w[0],输出是101,而不是'['
如果你能帮助我,我将不胜感激

x6yk4ghg

x6yk4ghg1#

你可以用 map(int,w) 在python2.x中从给定列表创建整数列表
如果您使用的是python3.x,请使用 list(map(int,w)) 将惰性迭代器转换为列表。

相关问题