如何从字符串列表中的每个字符串中删除最后一个字符

spa*_*mar 9 python string list

我在列表中有字符串'80010','80030','80050',如

test = ['80010','80030','80050']
Run Code Online (Sandbox Code Playgroud)

如何删除最后一个字符(在这种情况下,每个字符串的最后一个数字是0),这样我最终可以得到另一个列表,其中只包含每个字符串中的前四个数字/字符?所以最终得到类似的东西

newtest = ['8001', '8003', '8005']
Run Code Online (Sandbox Code Playgroud)

我是Python的新手,但我尝试使用if-else语句,附加,使用索引[:-1]等,但似乎没有任何工作,除非我最终删除所有其他零.非常感谢!

Mat*_*hew 14

test = ["80010","80030","80050"]
newtest = [x[:-1] for x in test]
Run Code Online (Sandbox Code Playgroud)

新测试将包含结果["8001","8003","8005"].

[x[:-1] for x in test]通过循环每个项目并将修改后的版本放入,创建一个新列表(使用列表推导).将字符串值x中的所有内容都包含在内但不包括最后一个元素的方法.testnewtestx[:-1]


tim*_*geb 6

你不是那么遥远.使用切片表示法[:-1]是正确的方法.只需将其与列表理解相结合:

>>> test = ['80010','80030','80050']
>>> [x[:-1] for x in test]
['8001', '8003', '8005']
Run Code Online (Sandbox Code Playgroud)

somestring[:-1] 为您提供从位置0(包括)的角色到最后一个角色(独家)的所有内容.