Python:如何为列表元素设置值

Python:如何为列表元素设置值,python,Python,我有一个列表,比如说名为mac,它保存了6字节的mac地址。我想将最后一个字节设置为0,然后使用: mac[5] = 0 但它给了我一个错误: TypeError: 'str' object does not support item assignment 如何修复此错误?因为mac是一个str并且字符串在python中是不可变的 mac = list(mac) mac[5] = '0' mac = ''.join(mac) #to get mac in str 或者使用bytearray

我有一个列表,比如说名为
mac
,它保存了6字节的mac地址。我想将最后一个字节设置为0,然后使用:

mac[5] = 0
但它给了我一个错误:

TypeError: 'str' object does not support item assignment

如何修复此错误?

因为
mac
是一个
str
并且字符串在python中是不可变的

mac = list(mac)
mac[5] = '0'
mac = ''.join(mac) #to get mac in str
或者使用
bytearray
,它可以用作可变字符串

>>> x = bytearray('abcdef')
>>> x
bytearray(b'abcdef')
>>> x[5] = '0'
>>> x
bytearray(b'abcde0')
>>> str(x)
'abcde0'

这种方法是添加字符“0”还是仅添加0?@Evali它将索引5处的字符(或第6个字符)设置为
'0'
。不要忘记
''。加入((mac[:5],'0',mac[6:])
测试后,
mac=mac[:5]+'\x00'
是我需要的。无论如何,谢谢你。