切换列表中两个字符串的位置

时间:2015-10-21 22:32:11

标签: python-3.x

我还有另外一个问题需要输入,当然没有直接的答案可以指出我正确的方向!

我有一串数字ex。 1234567890,我想1& 0改变位置(0和9)和'2345'& '6789'换地方。最终结果为'0678923451'。

我做的第一件事就是将字符串转换为一个列表:

ex. original = '1234567890'
    original = list(original)
    original = ['0', '1', '2' etc....]

现在,我得到你需要拉出第一个和最后一个,所以我分配了

x = original[0]

y = original[9]

所以:x,y = y,x(这得到了我正在寻找的结果)

但是如何将其输入原始列表?

谢谢!

1 个答案:

答案 0 :(得分:1)

你从变量x和y中的列表中“提取”数据的事实根本没有帮助,因为这些变量与列表中的项目不再有任何联系。但是你为什么不直接交换它们呢?

original[0], original[9] = original[9], original[0]

您可以以类似的方式使用切片运算符来交换列表的内部部分。

但是,不需要从原始字符串创建列表。相反,您可以使用切片运算符来实现所需的结果。请注意,您不能像使用列表那样交换字符串元素,因为在Python中字符串是不可变的。但是,您可以执行以下操作:

>>> a = "1234567890"
>>> a[9] + a[5:9] + a[1:5] + a[0]
'0678923451'
>>>