2013-04-18 34 views
0

我有一個名爲mac的列表,它保存了6個字節的mac地址。我想最後一個字節設置爲0,然後我用:Python:如何將值設置爲列表元素

mac[5] = 0 

但它給我的錯誤:

TypeError: 'str' object does not support item assignment 

如何解決這個問題?

回答

7

因爲macstr而字符串在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'或只是0? – TieDad

+0

@EvanLi它將索引5(或第6個字符)中的字符設置爲「0」。 – thkang

+0

不要忘記'''.join((mac [:5],'0',mac [6:]))' – mgilson

相關問題