如果我有这样的字符串:ABCDE
我想一次读取两个字符(AB然后是CD)并删除无法在元组或两个字符中读取的剩余字符(E)。我该如何删除这些字符?
到目前为止,我有以下代码:
s = 'ABCDE'
for (first, second) in zip(s[0::2], s[1::2]):
if not first or not second:
if first:
s.replace(first, '')
continue
else:
s.replace(second, '')
continue
print first, second
print s
这段代码打印(A B
C D
)这很好,但我想删除for循环中的额外E
,我试图用if语句。我检查元组的first
或second
变量是否为空字符串,然后从原始s
变量中删除哪一个不是空字符串。
以上代码似乎不起作用。有没有人有不同的建议或我如何改进?
答案 0 :(得分:4)
如果你想删除最后一个字符,以防字符串的长度为奇数:
BEGIN
现在,如果你想一次阅读两个角色,这是一种更直觉的方式:
word = "ABCDE"
if len(word) % 2 == 1:
word = word[:-1]
后者甚至会为你丢掉最后一个角色。
答案 1 :(得分:0)
str = "ABCDE"
for i, k in zip(str[::2], str[1::2]):
print(i + k)
输出:
AB
CD