python - 如何切换任何给定列表的元素?
问题描述
假设我有一个清单:["5", "6", "4", "3"]
我想要做的是将任何 char"5"
替换为"6"
并替换"6"
为"5"
.
所以列表最终看起来像这样:
["6", "5", "4", "3"]
我想对所有可能输入的列表执行此操作。这意味着并非所有列表都包含元素"5"
和"6"
其中的元素,但我想为有的列表切换5
's 和6
's。
注意:列表中的元素是字符串元素。不是整数。
我一直在考虑使用if
语句,.replace()
但这会改变5
and 6
,但随后又将其改回。
例子:
if "5" in list1:
list1.replace("5", "6")
if "6" in list1:
list1.replace("6", "5")
如您所见,这只是将其替换回来。它不起作用。如果有人可以帮助我解决这个问题,那就太好了。
注意:如果元素"1532"
在列表中,则5
in that 也应替换为字符串。反之亦然6
。
另一个例子:
firstlist = ["125", "673", "222", "65"]`
输出:
firstlist = ["126", "573", "222", "56"]
解决方案
假设您的列表中没有下划线和制表符,这可以工作:
>>> list1 = ["126", "573", "222", "56"]
>>> str1 = "\t".join(list1)
>>> str1.replace("5", "_").replace("6", "5").replace("_", "6").split('\t')
['125', '673', '222', '65']
推荐阅读
- arrays - 将新值推送到特定位置的现有数组中 React Hooks
- python - 传递给另一个类的 self 变量的正确文档字符串文档是什么
- woocommerce - Woocommerce:在订单页面详细信息中获取并打印客户语言
- spring - JdbcBatchItemWriterBuilder 与 org.springframework.jdbc.core.jdbcTemplate.batchUpdate
- r - Choosing the right parameterization for latent profile analyses using the TidyLPA package
- elasticsearch - 与 Elastic Search 1.4.2 相比,Elastic Search 7.9 索引花费的时间太多
- entity-framework - 如何在 .NETCore 3.1 和 Blazor 中创建 DbContextFactory
- google-pay - CRYPTOGRAM_3DS - 为什么它不是唯一的选择?
- javascript - 是否可以在Javascript(Ionic,Angular)中将blob文件转换为base64Data?
- python - 悬停在元素上只工作一次,使用 move_to_element().perform()