我正在尝试将10000000C9ABCDEF
转换为10:00:00:00:c9:ab:cd:ef
这是必需的,因为当我登录到存储阵列时,10000000C9ABCDEF
格式是我看到HBA或主机总线适配器的方式。但是SAN交换机理解10:00:00:00:c9:ab:cd:ef
符号。在
我只能做到以下几点:
#script to convert WWNs to lowercase and add the :.
def wwn_convert():
while True:
wwn = (input('Enter the WWN or q to quit- '))
list_wwn = list(wwn)
list_wwn = [x.lower() for x in list_wwn]
lower_wwn = ''.join(list_wwn)
print(lower_wwn)
if wwn == 'q':
break
wwn_convert()
我尝试了':'.join
,但是这会在每个字符之后插入:
,所以我得到1:0:0:0:0:0:0:0:c:9:a:b:c:d:e:f
我希望.join
经过一个循环,在这个循环中我可以说for i in range (0, 15, 2)
这样它就可以在两个字符之后插入:
,但不太确定该怎么做。(很好,Python让我以2步或任何我想要的数字循环)
另外,如果有人能给我指点,让我写得更好,我会很感激。。。在
请帮忙。在
我在Windows7上使用Python3.2.2版(64位)
以lambda形式:
^{pr2}$说明:
':'.join(...)
返回在iterable的各个部分之间插入“:”的新字符串s[x:x+2]
从s返回长度为2的子字符串,从x开始range(0, len(s) - 1, 2)
返回步长为2的整数列表因此,列表理解将字符串s拆分为长度为2的子字符串,然后
join
将它们放回一起,但在它们之间插入“:”。在还有一个选择:
或者更简洁:
^{pr2}$相关问题 更多 >
编程相关推荐