python-向元组添加元素的有效方法

我想向元组添加元素.我发现了两种方法. Thisthis的答案说添加两个元组.它将创建一个新的元组

a = (1,2,3)
b = a + (5,)

this所述,将元组转换为列表,添加元素,然后将其转换回元组

a = (1,2,3)
tmp = list(a)
tmp.insert(3, 'foobar')
b = tuple(tmp)

在内存和性能方面,这两者中哪一个有效?
另外,假设我想在元组中间插入一个元素,是否可以使用第一种方法?
谢谢!

解决方法:

如果仅添加单个元素,请使用

a += (5, )

要么,

a = (*a, 5)

元组是不可变的,因此添加元素将意味着您需要创建一个新的元组对象.我不建议强制转换为列表,除非您要在循环等中添加许多元素.

a_list = list(a)
for elem in iterable:
    result = process(elem)
    a_list.append(result)

a = tuple(a_list)

如果要在中间插入一个元素,可以使用:

m = len(a) // 2
a = (*a[:m], 5, *a[m:])

要么,

a = a[:m] + (5, ) + a[m:]
上一篇:python中的半唯一元组? (又名元组主键?)


下一篇:在python中将字符串转换为元组