python去掉字符串空格,python从列表中的字符串中删除空格

博客讨论了在Python中处理列表内字符串前导和尾随空格的问题。作者指出,使用strip()方法仅返回处理后的字符串副本,而非原地修改。在尝试遍历并修改列表时,出现了数组越界错误。解决方案是正确重置内部循环变量,或者使用列表推导式简化代码。示例代码展示了如何正确地用列表推导式去除嵌套列表中的空格。
摘要由CSDN通过智能技术生成

I have a list of lists. I want to remove the leading and trailing spaces from them. The strip() method returns a copy of the string without leading and trailing spaces. Calling that method alone does not make the change. With this implementation, I am getting an 'array index out of bounds error'. It seems to me like there would be "an x" for exactly every list within the list (0-len(networks)-1) and "a y" for every string within those lists (0-len(networks[x]) aka i and j should map exactly to legal, indexes and not go out of bounds?

i = 0

j = 0

for x in networks:

for y in x:

networks[i][j] = y.strip()

j = j + 1

i = i + 1

解决方案

You're forgetting to reset j to zero after iterating through the first list.

Which is one reason why you usually don't use explicit iteration in Python - let Python handle the iterating for you:

>>> networks = [[" kjhk ", "kjhk "], ["kjhkj ", " jkh"]]

>>> result = [[s.strip() for s in inner] for inner in networks]

>>> result

[['kjhk', 'kjhk'], ['kjhkj', 'jkh']]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值