0
- 列表的两个列表h & i。
- h [0]的长度等于h [1]并且等于h [2]。同样适用于我[0],我[1]和我[2]。
- h [0]的长度可能不等于i [0]。
- 当h [0] [x] = i [0] [y]时,“比较”h [2] [x] & i [2] [y]。
- 功能 “比较” 指的是下述:
- 分割了x & Y考虑列表遇到 '\ n' 与x.split( '\ n')和y.split时( '\ n') 。
- 对于x.split('\ n')和y.split('\ n')的每个元素,使用list_difference删除重复项。
- 将结果存储到新的列表结果中。
非工作如下当不同元素匹配时删除列表中的重复元素 - Python
def list_difference(list1, list2):
"""Uses list1 as the reference, returns list of items not in list2."""
diff_list = []
for item in list1:
if not item in list2:
diff_list.append(item)
return diff_list
h=[['match','meh'],['0','1'],['remove\n0\n12','1']]
i=[['match','ignore0','ignore1'],['0','2','3'],['1\nremove','2','3']]
result = result(h,i)
# result should be:
# result = [['match','meh'],['0','1'],['0','1']]
# code not working:
results = []
for l in h:
for p in i:
if l[0] == p[0]:
results.append(list_difference(l[2].split('\n'), p[2].split('\n')))
# Traceback (most recent call last):
# File "<pyshell#19>", line 4, in <module>
# results.append(list_difference(l[2].split('\n'), p[2].split('\n')))
# IndexError: list index out of range
代码越来越近:
for l0, l2 in h[0], h[2]:
for p0, p2 in i[0], i[2]:
if l0 == p0:
results.append(list_difference(l2.split('\n'), p2.split('\n')))
print results
# [['h0_1']]