如何分隔列表中的元组?

我现在正在使用 Tkinter 进行一个项目。每当我输入“日本”时,它都会打印出来:


[('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])


缥缈止盈
浏览 89回答 2
2回答

富国沪深

你所拥有的是一个列表,其中有一个元组,以便访问你可以说的列表的第一个元素,data[0]现在你有('Japan', '23,473', 0.0, 985.0, '3,392', '19,096')这是一个元组。你可以通过说data[0][0]which is'Japan'或data[0][1]which is'23,473'等等来访问元组中的项目。希望它清除了你的疑问,让我知道是否有任何错误或疑问:D

桃花长相依

它是一个元组列表。根据Mysql Python Connector Docs,该方法获取查询结果集中的所有(或所有剩余)行并返回元组列表。如果没有更多行可用,则返回一个空列表。如果您使用固定列进行查询,请使用namedtuplewhich 将有助于更好的代码可读性和使用。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'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python