更換所有項目【難度:1級】:
答案1:
def replace_all(obj, find, replace):
if isinstance(obj, str):
return obj.replace(find, replace)
elif isinstance(obj, list):
return [x if x != find else replace for x in obj]
答案2:
def replace_all(obj, find, replace):
result = [el if el != find else replace for el in obj]
return ''.join(result) if isinstance(obj, str) else result
答案3:
def replace_all(obj, find, replace):
lst = [ replace if find == x else x for x in obj]
if isinstance(obj, str):
return "".join(lst)
else:
return lst
答案4:
def replace_all(obj, old, new):
if isinstance(obj, str):
return obj.replace(old, new)
return [new if a == old else a for a in obj]
答案5:
def replace_all(obj, old, new):
try:
return obj.replace(old, new)
except:
return [i if i != old else new for i in obj]
答案6:
def replace_all(obj, find, replace):
for i, o in enumerate(obj):
if o == find:
try:
obj[i] = replace
except:
obj = obj.replace(obj[i], replace, 1)
return obj
答案7:
def replace_all(obj, find, replace):
if type(obj) is list:
return [replace if x == find else x for x in obj]
return obj.replace(find,replace)
答案8:
def replace_all(obj, find, replace):
cons = ''.join if isinstance(obj, str) else list
return cons(replace if x == find else x for x in obj)
答案9:
def replace_all(obj, to_replace, replace_with):
if isinstance(obj, str):
return obj.replace(to_replace, replace_with)
return [replace_with if i == to_replace else i for i in obj]
答案10:
def replace_all(obj, find, replace):
if isinstance(obj, str):
return obj.replace(find, replace)
return [replace if item == find else item for item in obj]
歡迎各位同學加羣討論,一起學習,共同成長!