python - How can I create a list where if a[0] or a[1] of a row of list a are not present in any rows of list b that row in list a is appended to list c? -
i have list of lists a
eg:
a = [[1, 3, 7], [3, 5, 7], [-23, -34, -45]]
and list b
eg:
b = [1, 2, 3, 4]
i want create list c
when items in first 2 columns of single row of list a
not present in list b
row of appended list c. in example lists c like:
c = [[7], [7], [-45]]
as first row of a
contains 1 , 3, both of present in b
, 2nd row contains 3 present in b
.
i have tried following without success:
for row in a: if row[0] or row[1] not in b: c.append(a)
and
for row in a: if row[1] not in b: if row[0] not in b: c.append(a)
as both seem copy a
b
does know why code isn't working/code instead?
edit: apologies, got expected result wrong first time round
edit 2: messed big time - designing wrong, input lists coming source , had copied them down wrong. looking follows
c = [ ] = [[1, 3, -23], [3, 5, -34], [7, 7, -45]] b = [1, 2, 3, 4] row in a: if row[0] not in b , row[1] not in b: c.append(row)
thanks helped. sorry i'm such idiot.
slight modification on @muzulget's answer:
for row in a: if row[0] not in b or row[1] not in b: c.append(a[2])
Comments
Post a Comment