Python列表交集条件

时间:2013-11-21 20:36:56

标签: python

所以,我有一些字母和符号列表以及另一个符号列表。

list1=['A','B','!']
list2=['!','?','.']

然后我必须通过使用一些移位值来修改list1的每个元素。但我必须这样做,以便移位值只会影响不在list2中的元素!所以,'A'和'B'会改变,但是'!'不会受到影响。我怎么能这样做?

1 个答案:

答案 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)