打印两个列表中都不存在的项目
print item(s) that do not exist in both list
row_names=['a','b','b','b']
col_names=['a','a','a','b','b','b']
如何只打印两者不匹配的项目?由于长度不等,Zip 不起作用。
沿着这条线?
for item in row_names, col_names:
if row_names[item] != col_names[item]:
print item
使用set.symmetric_difference
:
results = set(col_names).symmetric_difference(set(row_names))
# Or
results = set(col_names) ^ set(row_names)
row_names=['a','b','b','b']
col_names=['a','a','a','b','b','b']
def diff(row,col):
big, little = [row,col] if len(row) > len(col) else [col,row]
map (lambda item: big.pop(big.index(item)) if item in big else None,little)
return big
print 'res: {}'.format(diff(row_names,col_names))
res: ['a', 'a']
row_names=['a','b','b','b']
col_names=['a','a','a','b','b','b']
如何只打印两者不匹配的项目?由于长度不等,Zip 不起作用。
沿着这条线?
for item in row_names, col_names:
if row_names[item] != col_names[item]:
print item
使用set.symmetric_difference
:
results = set(col_names).symmetric_difference(set(row_names))
# Or
results = set(col_names) ^ set(row_names)
row_names=['a','b','b','b']
col_names=['a','a','a','b','b','b']
def diff(row,col):
big, little = [row,col] if len(row) > len(col) else [col,row]
map (lambda item: big.pop(big.index(item)) if item in big else None,little)
return big
print 'res: {}'.format(diff(row_names,col_names))
res: ['a', 'a']