본문 바로가기
파이썬

파이썬 두 목록에 Python에서 동일한 요소가 포함되어 있다고 주장하는 방법은 무엇입니까?

by º기록 2021. 2. 4.
반응형

테스트 케이스를 작성할 때 두 개의 목록이 순서에 관계없이 동일한 요소를 포함한다고 종종 주장해야합니다.

나는 목록을 세트로 변환하여 이것을하고 있습니다.

이 작업을 수행하는 더 간단한 방법이 있습니까?

수정 :


TestCase.assertItemsEqual 은 Python2.7의 새로운 기능입니다.


 

해결 방법

 


a와 b는 순서에 관계없이 같은 번호의 동일한 요소를가집니다.

다음은 요소가 같지만 순서가 다른 두 목록을 비교하는 간단한 예입니다.

여기에 약간의 예제 스크립트가 있습니다.

import unittest


class TestListElements(unittest.TestCase):
    def setUp(self):
        self.expected = ['foo', 'bar', 'baz']
        self.result = ['baz', 'foo', 'bar']

    def test_count_eq(self):
        """Will succeed"""
        self.assertCountEqual(self.result, self.expected)

    def test_list_eq(self):
        """Will fail"""
        self.assertListEqual(self.result, self.expected)

if __name__ == "__main__":
    unittest.main()

참고 : 비교하려는 목록의 요소가 정렬 가능한지 확인하세요.

 

참조 페이지 https://stackoverflow.com/questions/12813633

 

 

반응형

댓글