我有以下代码,我希望输出为:[' 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']]
感谢任何帮助。
答案 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')
。
请注意,这并不是以任何特定顺序保留元素(它们发生在这里按字母顺序排列,但是集合的内部顺序是任意的)。