VN1*_*992 2 python tuples list python-3.x
我有一个元组([1,2,3],[4,5,6]),我想反转里面的列表,使它成为([3,2,1],[6,5,4])无需创建新元组并向其添加元素.我最接近的是:
my_func(....):
for i in tuple(...):
i = i[::-1]
return tuple(....)
Run Code Online (Sandbox Code Playgroud)
问题是,当我打印出我想要的东西时......元组从未改变过
元组是不可变的,但它们包含的对象可以是可变的或不可变的,所以如果我们修改元组包含的可变对象,那么更改将反映在该对象的所有引用上,包括元组.
在这种情况下,我们列出了,因此,我们需要做的就是遍历元组并调用.reverse()列表.
>>> t = ([1,2,3], [4,5,6])
>>> for x in t:
... x.reverse()
...
>>> t
([3, 2, 1], [6, 5, 4])
Run Code Online (Sandbox Code Playgroud)
另一个例子:
>>> x = [1, 2, 3]
>>> t = (x, 'abc')
>>> x.reverse()
>>> t
([3, 2, 1], 'abc')
>>> x
[3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |