从列表中移除前五个数字?

huangapple go评论64阅读模式
英文:

Remove first 5 from numbers in a list?

问题

我有一个包含如下数字的列表:-

s = [5542, 5654, 7545]

目标是从数字中移除开头的5,使得最终的列表如下:

s = [542, 654, 745]

在不使用任何外部库的情况下,实现以下目标的最佳方法是什么?

英文:

I have a list with numbers like this :-

s = [5542, 5654, 7545]

The goal is to remove the first 5 from the number such that the resultant list is like this

s = [542, 654, 745]

What's the best way to achieve the following without using any external libraries?

答案1

得分: 0

尝试使用 str.replace(old, new, count) -

[int(str(i).replace('5', '', 1)) for i in s]
[542, 654, 745]

在这种情况下,str.replace(old, new, count) 有3个参数,其中将 count 设置为1将只替换字符串中找到的第一个5。

然后你可以将它转换回整数。

英文:

Try this with str.replace(old, new, count) -

[int(str(i).replace('5','',1)) for i in s]
[542, 654, 745]

The str.replace(old, new, count) in this case has 3 parameters, where the count set to 1 will only replace the first instance of 5 it finds in the string.

Then you can convert it back to an integer.

答案2

得分: 0

另一个解决方案:

s = [int(str(x)[:str(x).index("5")] + str(x)[str(x).index("5") + 1:]) for x in s]
英文:

Another solution:

s = [int(str(x)[:str(x).index("5")] + str(x)[str(x).index("5") + 1:]) for x in s]

huangapple
  • 本文由 发表于 2023年1月9日 06:02:31
  • 转载请务必保留本文链接:https://go.coder-hub.com/75051590.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定