我有以下列表:
values = [
['registrationController', 'regBean', 'firstName'],
['registrationController', 'regBean', 'surname'],
['registrationController', 'regBean', 'userName'],
['registrationController', 'regBean', 'password'],
['registrationController', 'regBean', 'confirmPassword'],
['registrationController', 'regBean', 'emailAddress'],
['registrationController', 'regBean', 'confirmEmail'],
['registrationController', 'regBean', 'securityQuestionAndAnswerOne', 'question'],
['registrationController', 'regBean', 'securityQuestionAndAnswerOne', 'answer'],
['registrationController', 'regBean', 'securityQuestionAndAnswerTwo', 'question'],
['registrationController', 'regBean', 'securityQuestionAndAnswerTwo', 'answer'],
['registrationController', 'regBean', 'securityQuestionAndAnswerThree', 'question'],
['registrationController', 'regBean', 'securityQuestionAndAnswerThree', 'answer'],
['registrationController', 'regBean', 'tAndCAccepted']
]
我正在尝试找出如何删除此列表中所有预设值并在 当他们变得独一无二时,他们会得到这样的东西:
unique_values = [
['firstName'],
['surname'],
['userName'],
['password'],
['confirmPassword'],
['emailAddress'],
['confirmEmail'],
['securityQuestionAndAnswerOne', 'question'],
['securityQuestionAndAnswerOne', 'answer'],
['securityQuestionAndAnswerTwo', 'question'],
['securityQuestionAndAnswerTwo', 'answer'],
['securityQuestionAndAnswerThree', 'question'],
['securityQuestionAndAnswerThree', 'answer'],
['tAndCAccepted']
]
有什么想法可以实现这个目标吗?我尝试了各种方法,但无法真正接近可行的解决方案。
最佳答案
使用集合交集来获取所有公共(public)元素和嵌套列表理解来构建清理后的列表:
common = set(values[0])
for lst in values[1:]:
common = common.intersection(lst)
unique_values = [[v for v in lst if v not in common] for lst in values]
关于python - 删除多个嵌套列表中的重复列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53085809/