gpt4 book ai didi

python - 在列表中定期插入一个字符

转载 作者:太空狗 更新时间:2023-10-29 20:20:36 25 4
gpt4 key购买 nike

我正在尝试将 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 或我想要的任何数字为步长循环。)

此外,如果有人可以指导我编写更好的脚本,我将不胜感激......

请帮忙。

我在 Windows 7(64 位)上使用 Python 版本 3.2.2

最佳答案

这是另一种选择:

>>> s = '10000000c9abcdef'
>>> ':'.join(a + b for a, b in zip(*[iter(s)]*2))
'10:00:00:00:c9:ab:cd:ef'

或者更简洁:

>>> import re
>>> ':'.join(re.findall('..', s))
'10:00:00:00:c9:ab:cd:ef'

关于python - 在列表中定期插入一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com