我知道元组是不可变的对象,但是我知道元组支持索引和切片。因此,如果将元组分配给变量,则可以将变量重新分配到新的元组对象,并在所需的索引位置更改值。
当我试图使用索引片来完成这个任务时,我将得到一个包含多个元组的元组。我理解为什么会发生这种情况,因为我传递的是原元组的逗号分隔的部分,但我不知道如何(如果可能的话)返回一个一维元组,在处理更大的数据集时更改一个元素。
示例:
someNumbers = tuple(i for i in range(0, 20))
print(someNumbers)
someNumbers = someNumbers[:10], 2000, someNumbers[11:]
print(someNumbers)产出如下:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
((0, 1, 2, 3, 4, 5, 6, 7, 8, 9), 2000, (11, 12, 13, 14, 15, 16, 17, 18, 19))我能否返回一个一维元组并只更改所需的索引值?
发布于 2017-09-07 16:59:52
使用串连
someNumbers = someNumbers[:10] + (2000,) + someNumbers[11:]发布于 2017-09-07 17:03:05
您可以使用元组连接:
someNumbers = tuple(i for i in range(0, 20))
print(someNumbers)
# (2000, ) to differentiate it from (2000) which is a number
someNumbers = someNumbers[:10]+ (2000,) + someNumbers[11:]
print(someNumbers)产出:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2000, 11, 12, 13, 14, 15, 16, 17, 18, 19)https://stackoverflow.com/questions/46101604
复制相似问题