我习惯使用 C++,对 python 比较陌生。在下面附加的代码中,我将字符串与字符进行比较。试图解决这个问题:https : //leetcode.com/problems/defanging-an-ip-address/
def defangIPaddr(self, address: str) -> str:
for i in address:
if address[i] == ".":
address = address[:i-1] + "[" + address[i] + "]" +address[i+1]
print(address)
由于语法不正确,我在第 3 行遇到错误。
任何帮助深表感谢
Pythonic 解决方案:使用str.replace()
:
address = address.replace(".", "[.]")
现在,如果你真的想用 for 循环来制作它,你首先需要正确使用 for 循环 - Python for 循环是一种“foreach”类型的循环,然后从中构建一个新字符串 - 构建的 Pythonic 方式一个列表,然后str.join
它返回到一个字符串:
parts = []
for item in address:
if item == ".":
item = "[.]"
parts.append(item)
address = "".join(parts)
或更简单地说:
address = "".join("[.]" if item == "." else item for item in address)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句