更改字符串中的特定字母

时间:2016-11-10 20:35:22

标签: python

from random import randint
tal = ['0','1','2','3','4','5','6','7','8','9']
sign = ['@','£','$','€','&', '!', '?', '!']
bogstaver = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
             'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'x', 'y', 'z']



numbers = [tal[randint(0,9)] + sign[randint(0,7)] + bogstaver[randint(0,24)] + tal[randint(0,9)] for x in range(4)]
password = "".join(numbers)
print(password[2::8])

print(password)

我希望每个4.从密码中的第二个第一个字母开始,将字母表中的字母大写。 这是代码的[2 :: 8]。但我只是想弄清楚如何只用大写的同一个字母替换这两个字母。 有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

password = ''.join([c.upper()
                    if i in range(2, len(password), 8)
                    else c
                    for i, c in enumerate(password)])