所以我有一个列表和几个字符串。我只想从每个字符串中删除前 7 个字符。我怎么做?
我试过了:
lst = ["1234567something", "1234567smthelse"]
for i in lst:
i [7:]
print lst
但我从一开始就得到了相同的清单……
原文由 mdenci 发布,翻译遵循 CC BY-SA 4.0 许可协议
您从未在问题中重新分配 lst ,这就是 print(lst) 中 lst 的输出不变的原因。尝试像这样重新分配:
lst = ["1234567something", "1234567smthelse"]
lst = [i[7:] for i in lst]
print(lst)
回报
[‘某事’,’smthelse’]
原文由 Rahul Madhavan 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答934 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
当做
i [7:]
你 实际上并没有编辑 列表的元素,你只是在计算一个新的字符串,没有前 7 个字符,并且没有对它做任何事情。你可以这样做:
这将在数组的元素上循环,并按预期从开头删除字符。