在阅读此问题之前,我想发布免责声明。
我已经读过我们的函数可以直接替换字符串中的字符(string.replace),我只想尝试手动方法来实现这一点。
这是我刚写的代码。
string = bytearray("abc'defgh",'utf-8')
for value in range(0,9):
if string[value]=='h' or string[value]=='c':
string[value]=='i'
else:
print('''Word's are not the same''')
print(string.decode("utf-8"))
我也希望那些给我答案的人也解释一下有关bytearray()的内容,因为我刚看到这个函数并且我正在尝试它。
谢谢!
答案 0 :(得分:0)
正如其他人所提到的,有更好的方法可以做到这一点,但我认为这是一个探索=INT(A1)+100*MOD(A1,1)/60
如何运作的学习练习。
您的bytearray
测试永远不会成功。那些测试假设if
是单个字符串的数组,但这不正确。 bytearray
实际上是整数的数组,因此您的测试需要将bytearray
中的元素与整数进行比较。您可以使用实际整数来实现,但使用带有字节对象的string
测试更方便。当您进行替换时,您需要提供一个整数,否则您将收到此错误:
in
这是您的代码的新版本。我已将TypeError: an integer is required
的名称更改为string
,因为它不是字符串,因此将其称为arr
会让人感到困惑。
我还更改了string
循环以使用for
函数,该函数迭代一个可迭代对象,产生(索引,元素)对。
enumerate
<强>输出强>
arr = bytearray("abc'defgh", 'utf-8')
replacement = ord('i')
for i, v in enumerate(arr):
if v in b'ch':
arr[i] = replacement
print(v, chr(v))
print(arr)
print(arr.decode('utf-8'))