将字符串的唯一部分附加到列表中

时间:2014-05-14 07:11:41

标签: python list

我有以下代码,我希望输出为:[' abcdef'] [' def']。 我希望a2列表包含变量x中不存在的a1的唯一元素。

>>> a1=[]
>>> a2=[]
>>> a1.append("abcdef")
>>> x="abc"
>>> if x not in a1:
...     a2.append(a1)
... 
>>> print a1, a2
['abcdef'] [['abcdef']]

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这应该有效。你需要逐个比较每个字母然后将它们附加到一个新的字符串

a1=[]
a2=[]
a1.append("abcdef")
x="abc"
y = "abcdef"
new = ""
for letter in y:
    if letter not in x:
        new = new + letter

a2.append(new)

print a1, a2

输出:

['abcdef'] ['def']
[Finished in 0.0s]

此版本将检查列表中的每个项目与单个字符串,以检查字符串是否在任何

a1=[]
a2=[]
a1.append("abcdef")
x="abc"
new = ""
for item in a1:
    for letter in item:
        if letter not in x:
            new = new + letter

a2.append(new)

print a1, a2

答案 1 :(得分:0)

如果您真的只关心唯一字母,可以使用套装轻松完成此操作:

>>> set('abcdef') - set('def')
{'a', 'b', 'c'}

如果您需要将答案作为字符串,那么您可以''.join(set('abcdef') - set('def')

请注意,这并不是以任何特定顺序保留元素(它们发生在这里按字母顺序排列,但是集合的内部顺序是任意的)。

相关问题