【发布时间】:2015-08-07 12:48:42
【问题描述】:
我是 Python 新手,遇到以下问题:
a = [[0,abc,1],[0,def,1]]
b = [abc,jkl]
输出应该是:
c = [[0,abc,1],[0,def,1],[0,jkl,1]]
谁能帮帮我?
【问题讨论】:
-
输入和输出之间的逻辑是什么?
我是 Python 新手,遇到以下问题:
a = [[0,abc,1],[0,def,1]]
b = [abc,jkl]
输出应该是:
c = [[0,abc,1],[0,def,1],[0,jkl,1]]
谁能帮帮我?
【问题讨论】:
可以通过以下代码完成:
In [3]: a = [[0,'abc',1],[0,'def',1]]
In [4]: b = ['abc','jkl']
In [5]: c = a[:]
In [6]: c.extend([[0,e,1] for e in b if e not in [x for _,x,_ in a]])
In [7]: c
Out[8]: [[0, 'abc', 1], [0, 'def', 1], [0, 'jkl', 1]]
希望这会有所帮助!
【讨论】:
这个怎么样?
>>> a = [[0,'abc',1],[0,'def',1]]
>>> b = ['abc','jkl']
>>> c = a[:]
>>> for i in b:
... if [0,i,1] not in a:
... c.append([0,i,1])
...
>>> c
[[0, 'abc', 1], [0, 'def', 1], [0, 'jkl', 1]]
【讨论】:
使用not in判断是否包含
a = [[0,abc,1],[0,def,1]]
b = [abc,jkl]
c = []
for i in a:
if i not in c:
c.append(i)
for j in b:
if j not in c:
c.append(j)
【讨论】: