假设我有以下元组:
a = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
我想要做的是反转元组的某些部分。
例如 4 个元素保持不变,然后 4 个元素将颠倒过来。
我想要得到以下结果:
a = (1,2,3,4,8,7,6,5,9,10,11,12,16,15,14,13,17,18,19,20)
我怎样才能实现这一点(以Python的方式)?
谢谢...
最佳答案
元组是不可变的,但是,通过将 a
转换为 list
,可以执行就地赋值:
a = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
new_a = list(a)
for c, i in enumerate(range(0, len(a), 4)):
if c%2:
new_a[i:i+4] = new_a[i:i+4][::-1]
print(tuple(new_a))
输出:
(1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17, 18, 19, 20)
关于Python 反转元组的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659879/