【发布时间】:2019-01-06 12:14:21
【问题描述】:
我有以下 python 列表:
original = [(7782, 'Mandarin, Chinese'),
(7783, 'Italian, Conversational Spanish'),
(7792, 'Spanish, English'),
(7793, 'English, Italian')]
我想要的结果是这样的:
[(7782, 'Mandarin'),
(7782, 'Chinese'),
(7783, 'Italian'),
(7783, 'Coversational Spanish'),
(7792, 'Spanish'),
(7792, 'English'),
(7793, 'English'),
(7793, 'Italian') ]
我是 python 新手。我怎样才能做到这一点?到目前为止我的代码是这样的:
import pymysql
db = pymysql.connect("localhost","root","123456","itutor" )
cursor = db.cursor()
query = "SELECT distinct user_id, language from table;"
cursor.execute(query)
r = list(cursor.fetchall())
db.close()
r2 = r[0][1].split(",")
【问题讨论】:
-
您能否通过访问数据库并更改那里的数据来实现您的目标?我的意思是您可以访问命令行界面并处理合适的 SQL 查询吗?
-
语言数量不固定。我无法使用查询。
-
这听起来不像是不通过查询来做的理由。递归 CTE 可能能够实现您想要的。那么,你可以使用命令行界面吗?
-
是的,我可以。 CTE 在 MySQL 5.5 中不可用。此外,使用编程语言更容易做到这一点
标签: python string python-3.x list list-comprehension