编辑元组的内容

时间:2014-04-01 05:54:25

标签: python

嗨,请问有没有办法编辑嵌套列表中的这个元组的内容。我问,因为我的读数告诉我元组是不可变的。使用什么代码可以对内容进行补充和编辑:

这就是我的意思,对于n以下

n = [[(14883, 14383), (14383, 14939)], [(14939, 6703), (6703, 7277)]]

所需的输出如下:

m = [[(14883B, 14383B), (14383B, 14939B)], [(14939B, 6703B), (6703B, 7277B)]]

谢谢

3 个答案:

答案 0 :(得分:1)

您必须使用更新的值创建一个新的元组列表,如下所示:

m = [(str(val[0])+'B', str(val[1])+'B') for val in n]

此代码使用list-comprehension并获取上一个列表中的值,并创建一个 new 列表,其中包含' B'加入。

[编辑:]您已更新了您的问题。对于更新的问题,随着更深层次的嵌套,我建议在他的答案中修改@ doniyor的方法是一种更好的方法。

答案 1 :(得分:1)

m = []
for i,(k, v) in enumerate(n):
    n[i] = (str(k)+'B', str(v) + 'B')
    m.append(n[i])

答案 2 :(得分:0)

你不能编辑元组,但你可以像这样做

>>> def catify(data):
...     return (data[0],'cat')
...
>>> my_pet = ('Squiggly', 'dog')
>>> my_pet = catify(my_pet)
>>> print (my_pet)
("Squiggly','cat')