如何在列表中分隔元组?

uubf1zoe  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(307)

我现在正在用tkinter做一个项目。每当我输入“japan”时,它就会打印出来:

[('Japan', '23,473', 0.0, 985.0, '3,392', '19,096')]

我不确定这是一个列表还是一个元组?我想把所有用逗号分隔的数据分成不同的变量。这是我目前掌握的情况。如果您在我的代码中看到任何其他漏洞,我们将非常感谢您的帮助。谢谢!

def subby():
        answer=country_name.get()
        l_answer = answer.capitalize()
        sql_command = "SELECT * FROM covid WHERE `name` = ?;"
        values = (l_answer,)
        cursor.execute(sql_command,values)
        data = cursor.fetchall()
        print (data)
        users0.set(data[0])
        users1.set(data[1])
        users2.set(data[2])
        users3.set(data[3])
        users4.set(data[4])
        users5.set(data[5])
b5buobof

b5buobof1#

你现在看到的是一个列表,其中有一个元组,以便访问列表的第一个元素 data[0] 现在你有了

('Japan', '23,473', 0.0, 985.0, '3,392', '19,096')

这是一个元组。
你可以通过说 data[0][0] 哪个是 'Japan' 或者 data[0][1] 哪个是 '23,473' 等等。希望它消除你的疑虑,让我知道如果有任何错误或疑虑:d

7cwmlq89

7cwmlq892#

这是一个元组列表。根据mysql-python-connector文档,
该方法获取查询结果集的所有(或所有剩余)行,并返回元组列表。如果没有更多行可用,则返回空列表。
如果要使用固定列进行查询,请使用 namedtuple 这将有助于更好的代码可读性和使用。

In [1]: from collections import namedtuple                                                                                                                                   

In [2]: result_set = namedtuple("ResultSet", ["column1", "column2", "column3"])                                                                                              

In [3]: result_set('Japan', '23,473', 0.0)                                                                                                                                  
Out[3]: ResultSet(column1='Japan', column2='23,473', column3=0.0)

In [4]: rs = result_set('Japan', '23,473', 0.0)                                                                                                                             

In [5]: rs.column1                                                                                                                                                          
Out[5]: 'Japan'

相关问题