首页 > 解决方案 > 如何切换任何给定列表的元素?

问题描述

假设我有一个清单:["5", "6", "4", "3"]

我想要做的是将任何 char"5"替换为"6"并替换"6""5".

所以列表最终看起来像这样:

["6", "5", "4", "3"]

我想对所有可能输入的列表执行此操作。这意味着并非所有列表都包含元素"5""6"其中的元素,但我想为有的列表切换5's 和6's。

注意:列表中的元素是字符串元素。不是整数。

我一直在考虑使用if语句,.replace()但这会改变5and 6,但随后又将其改回。

例子:

if "5" in list1:
    list1.replace("5", "6")
if "6" in list1:
    list1.replace("6", "5")

如您所见,这只是将其替换回来。它不起作用。如果有人可以帮助我解决这个问题,那就太好了。

注意:如果元素"1532"在列表中,则5in that 也应替换为字符串。反之亦然6

另一个例子:

firstlist = ["125", "673", "222", "65"]`

输出:

firstlist = ["126", "573", "222", "56"]

标签: pythonpython-3.xlist

解决方案


假设您的列表中没有下划线和制表符,这可以工作:

>>> list1 = ["126", "573", "222", "56"]
>>> str1 = "\t".join(list1)
>>> str1.replace("5", "_").replace("6", "5").replace("_", "6").split('\t')
['125', '673', '222', '65']

推荐阅读