所以,我有一些字母和符号列表以及另一个符号列表。
list1=['A','B','!']
list2=['!','?','.']
然后我必须通过使用一些移位值来修改list1的每个元素。但我必须这样做,以便移位值只会影响不在list2中的元素!所以,'A'和'B'会改变,但是'!'不会受到影响。我怎么能这样做?
答案 0 :(得分:3)
list1 = [chr((ord(x) + shift) % 256) if x not in list2 else x for x in list1 ]
编辑:
如果你对列表推导不满意:
for i in range(len(list1)):
char1 = list1[i]
if char1 not in list2:
list1[i] = chr((ord(char1) + shift) % 256)