一、Python数据转换
1.十六进制转换十进制
int整数转换,int类型转换出来的数都是整数,小数的话会转换成整数部分。
但是只能转换数字或者字符串的数字,不能转换字母。不然会报错
如何转换字母呢?在后面加一个16 表示这个字母a是16进制的,转换成10.
如何把10进制转换成一个10进制呢 ?
使用hex()返回一个字符串。
hex(10)
我们来看一个小例子。
通过MAC地址来计算下一个mac地址。
macaddr = "9C-5C-8E-CE-96-BA"
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int(last_two, 16) + 1
if plus_one in range(10):
new_last_two = hex(plus_one)[2:]
new_last_two = '0' + new_last_two
else:
new_last_two = hex(plus_one)[2:]
if len(new_last_two) == 1:
new_last_two = '0' + new_last_two
new_mac = prefix_mac + '-' + new_last_two
print new_mac.upper()
1.计算MAC地址的最后一位+1 得出一个新的MAC地址。
2.在做数据转换的时候,转换成了01 是会忽略0 直接显示1,所以要加一个字符串0.同理在0A中也是一样。所以加个判断,如果在10以内的话 就加0.
2.字符串和列表相互转换
(1)字符串转换成列表
a = 'abc'
list(a)
这样就转换好了
列表怎么转换成字符串呢?
需要使用一个字符串方法。.join()
''.join(a)
join()方法里的参数是一个可迭代的对象。例如列表。
''.join() 前面的‘’ 这是一个分隔符。用什么分隔符分开。
比如用.分开
‘.’.join(a)
这样就是列表转换成字符串。
(2)字符串转换成元祖
tuple(a)
转换回来的方式和列表一样。
用.join 方法。
(3) 字典转换成列表
字典转换成列表用items()方法
列表转换成字典用
dict(a1)
并不是所有的列表都可以转换成字典的。列表里必须包含元祖,而且元祖是由2个元素组成的。