我要删除“>>>;”和“…”使用replace()
形成文档,但它对我不起作用(它打印相同的文档)。检查最后三行代码。在
doc = """
>>> from sets import Set
>>> engineers = Set(['John', 'Jane', 'Jack', 'Janice'])
>>> programmers = Set(['Jack', 'Sam', 'Susan', 'Janice'])
>>> managers = Set(['Jane', 'Jack', 'Susan', 'Zack'])
>>> employees = engineers | programmers | managers # union
>>> engineering_management = engineers & managers # intersection
>>> fulltime_management = managers - engineers - programmers # difference
>>> engineers.add('Marvin') # add element
>>> print engineers
Set(['Jane', 'Marvin', 'Janice', 'John', 'Jack'])
>>> employees.issuperset(engineers) # superset test
False
>>> employees.update(engineers) # update from another set
>>> employees.issuperset(engineers)
True
>>> for group in [engineers, programmers, managers, employees]:
... group.discard('Susan') # unconditionally remove element
... print group
...
Set(['Jane', 'Marvin', 'Janice', 'John', 'Jack'])
Set(['Janice', 'Jack', 'Sam'])
Set(['Jane', 'Zack', 'Jack'])
Set(['Jack', 'Sam', 'Jane', 'Marvin', 'Janice', 'John', 'Zack'])
"""
doc.replace(">>> ","")
doc.replace("... ","")
print doc
那么,有没有人能给出一个更好的解决方案来删除“>>>;”和“…”。在
字符串在python中是不可变的,因此
str.replace
(以及所有其他操作)只返回一个新字符串,而原始字符串根本不受影响:关于
^{pr2}$str.replace
的帮助:replace()
不修改字符串,它返回一个带有修改的新字符串。在所以写下:
doc = doc.replace(">>> ","")
Python字符串是不可变的,因此
.replace
返回一个新的字符串,而不是像您假设的那样改变原始字符串。在相关问题 更多 >
编程相关推荐