【问题标题】:(Python) How to modify tuples in a tuple(Python) 如何修改元组中的元组
【发布时间】:2020-07-04 10:02:35
【问题描述】:

我做了一个 fetchall 来获取我的数据库的值,但是我有一个问题。

fetchall 返回一个元组:

((25, 'Bonzon', 'Julien', '0642181185', 25), (1, 'BLOQUIAU', 'Thomas', '0669696969', None), (2, 'PARAT', 'Clement', '0669696969', None), (3, 'FOUCAUD', 'Enzo', '0669696969', None), (4, 'JEAN', 'Alexandre', '0678787878', None), (23, 'Bal', 'Hugo', '0642181185', None), (24, 'Gerez', 'Quentin', '0642181185', None))

但是,在元组中我们不能直接修改一个值。 我可以找到将元组转换为列表、修改值并返回元组的解决方案。

[(25, 'Bonzon', 'Julien', '0642181185', 25), (1, 'BLOQUIAU', 'Thomas', '0669696969', None), (2, 'PARAT', 'Clement', '0669696969', None), (3, 'FOUCAUD', 'Enzo', '0669696969', None), (4, 'JEAN', 'Alexandre', '0678787878', None), (23, 'Bal', 'Hugo', '0642181185', None), (24, 'Gerez', 'Quentin', '0642181185', None)]

问题是当我这样做时,我可以这样做,但我的元组中有元组。而且我不知道如何修改主元组中的元组

对解决我的问题有什么帮助吗?

最好的问候

【问题讨论】:

  • 你卡在哪里了?这是相同的过程,但更深一层。您必须将元组转换为可变类型——列表是最接近的同源类型——进行更改,然后转换回元组。
  • 如果您需要频繁更改,为什么要将值存储在元组中?
  • 我不需要做很多改变,这是我唯一做的一个改变。 ``` list = cur.fetchall() ``` 来自 pymysql,将我的列表存储在元组值中

标签: python sql list tuples converters


【解决方案1】:

您不能修改元组。

您必须将所有转换为列表然后修改它们。

考虑这个例子:

t = ((1, 2), (3, 4))
l = [list(e) for e in t]     # [[1, 2],[3, 4]]
# < ---  modify l --- >
n = [ tuple(e) for e in l]   # [(1, 2), (3, 4)]
n = (*n,)                    # ((1, 2), (3, 4))

【讨论】:

  • 你为什么要这样做? ``` n = (*n,) ```
  • 将列表转换为元组。
  • @uPong 我更新了我的答案。我添加了 cmets 来解释我的代码。
  • 嗯,好的,谢谢!我想你已经完全回答了我的问题,我将被释放继续我的项目。
  • 谢谢你,我这样做了。
【解决方案2】:

您可以像这样轻松地转换列表中的元组:

# I think this is the first thing you did
myList = list(myTuple)

# Additionally to convert your inside tuples into a list you could do:
myList = [list(t) for t in myList]

【讨论】:

  • 你可以像我一样在一行中做到这一点
  • 您好!当我调用我的元组时出现错误。为什么 ? prntscr.com/rlhkmh
  • @uPong 检查我的答案。我给你举了一个清晰有效的例子。
  • @ThunderPheonix 我回答了你
  • 因为你把你的列表命名为“list”,而这个list是Python中的保留字。用另一个名称替换您的变量“列表”。
猜你喜欢
  • 1970-01-01
  • 2015-05-06
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 2013-04-26
  • 2011-11-13
  • 2018-04-20
相关资源
最近更新 更多