【问题标题】:How to slice strings inside tuples inside lists?如何在列表内的元组内切片字符串?
【发布时间】:2022-08-18 00:33:46
【问题描述】:

我正在使用 SQL 数据库来获取主键 ID 列表,但是当我打印该列表时,它会同时打印一个额外的逗号。有没有办法只删除或访问列表中的数字?

这是我所拥有的:

import mysql.connector

con = mysql.connector.connect(host=\'localhost\',
                              database=\'database\',
                              user=\'root\',
                              password=database_pw)
cursor = con.cursor()
query = \"\"\"select playerid from nba_players;\"\"\"
cursor.execute(query)
playerids = cursor.fetchall()
print(playerids)

这是输出:

[(20000441,),
 (20000442,),
 (20000443,),
 (20000452,),
 (20000453,),
 (20000455,),
 (20000456,),
 (20000457,),
 (20000466,),
 (20000468,),
 (20000471,),
 (20000474,),
 (20000482,),
 (20000483,),
 (20000485,),
 (20000486,),
 (20000492,),
 (20000497,),
 (20000500,),
 (20000515,),
 (20000516,),
 (20000517,),
 (20000522,),
 (20000539,),
 (20000544,),
...

这是我正在寻找的输出

[(20000441),
 (20000442),
 (20000443),
 (20000452),
 (20000453),
 (20000455),
 (20000456),
 (20000457),
 (20000466),
 (20000468),
 (20000471),
 (20000474),
 (20000482),
 (20000483),
 (20000485),
 (20000486),
 (20000492),
 (20000497),
 (20000500),
 (20000515),
 (20000516),
 (20000517),
 (20000522),
 (20000539),
 (20000544),
...
  • new_list = [item[0] for item in playerids] 会给你一个平面列表而不是一个成员元组的列表,这是你开始的。
  • 顺便说一句,这些不是字符串。
  • 在 python 中,尾随逗号表示它是一个只有一个值的元组。您实际上无法摆脱它们,除非您只想将数字存储在列表中(而不是将它们本身放在元组中)。

标签: python mysql


【解决方案1】:

您可以使用list comprehension

[playerid[0] for playerid in playerids]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-30
    • 2019-09-30
    • 1970-01-01
    • 2020-12-31
    • 2022-11-11
    • 1970-01-01
    • 2020-06-02
    • 2021-01-24
    相关资源
    最近更新 更多