Python 사전에는 중복 키가 포함될 수 없으므로 사전에 키가 이미 있는지 확인하는 것이 매우 중요합니다. 실수로 중복 키 값을 할당한 경우 새 값이 이전 값을 덮어씁니다.
따라서 주어진 사전에서 우리의 임무는 주어진 키가 이미 사전에 존재하는지 여부를 확인하는 것입니다. 존재하는 경우 현재와 키 값을 인쇄합니다. 그렇지 않으면 존재하지 않음을 인쇄하세요.
예
Input : {'a': 100, 'b':200, 'c':300}, key = b Output : Present, value = 200 Input : {'x': 25, 'y':18, 'z':45}, key = w Output : Not present> 키가 사전에 이미 존재하는지 확인하는 방법
주어진 키가 존재하는지 확인하는 다양한 방법이 있을 수 있습니다. 사전 , 우리는 다음과 같은 접근 방식을 다루었습니다.
- Python 사전 키()
- 만약에 그리고 안에
- 파이썬 사전 has_key()
- 파이썬 사전 얻다() 방법
- Python 'KeyError' 예외 처리
- Python 목록 개수()
1. 키() 메소드를 사용하여 키가 존재하는지 확인
key() 메소드는 사전에서 사용 가능한 모든 키 목록을 반환합니다. 내장 방법 사용 키(), 키가 사전에 있는지 여부를 확인하려면 'in' 연산자와 함께 if 문을 사용하세요.
파이썬3
# Python3 Program to check whether a> # given key already exists in a dictionary.> > def> checkKey(dic, key):> >if> key>in> dic.keys():> >print>(>'Present, '>, end>=>' '>)> >print>(>'value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
>
산출:
Present, value = 200 Not present>
시간 복잡도 : 에)
보조 공간 : ㅇ(1)
2. if 및 in을 사용하여 키가 존재하는지 확인합니다.
이 방법은 if 문 주어진 키가 사전에 존재하는지 확인합니다.
파이썬3
def> checkKey(dic, key):> > >if> key>in> dic:> >print>(>'Present, '>, end>=>' '>)> >print>(>'value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
>
산출:
Present, value = 200 Not present>
시간 복잡도 : O(n), 여기서 n은 사전에 있는 키-값 쌍의 수입니다.
보조 공간 : O(n), 사전에 키와 값을 저장합니다.
3. has_key() 메소드를 사용하여 키가 존재하는지 확인
사용하여 has_key() 메소드는 주어진 키를 사전에서 사용할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 내장 메서드 has_key()를 사용하면 if 문을 사용하여 키가 사전에 있는지 확인합니다.
메모 - has_keys() 메서드가 Python3 버전에서 제거되었습니다. 따라서 Python2에서만 사용할 수 있습니다.
파이썬
정수를 문자열로 변환 java
def> checkKey(dic, key):> > >if> dic.has_key(key):> >print>(>'Present, value ='>, dic[key])> >else>:> >print>(>'Not present'>)> > # Driver Function> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> checkKey(dic, key)> > key>=> 'w'> checkKey(dic, key)> |
>
자바의 현재 날짜
>
산출:
('Present, value =', 200) Not present> 4. get() 메소드를 사용하여 키가 존재하는지 확인
내장 방법 얻다() 사전에서 사용 가능한 키 목록을 반환합니다. 키()를 사용하면 if 문을 사용하여 키가 사전에 있는지 확인합니다. 키가 있으면 존재함을 인쇄하고 그렇지 않으면 존재하지 않음을 인쇄합니다.
파이썬3
dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> > # check if 'b' is none or not.> if> dic.get(>'b'>)>=>=> None>:> >print>(>'Not Present'>)> else>:> >print>(>'Present'>)> |
>
>
산출:
Present>
5. Python에서 'KeyError' 예외 처리
사용 시도하고 제외 다이어트에 키가 있는지 확인하기 위해 KeyError 예외를 처리합니다. 액세스하려는 키가 사전에 없으면 KeyError 예외가 생성됩니다.
파이썬3
dictExample>=> {>'Aman'>:>110>,>'Rajesh'>:>440>,>'Suraj'>:>990>}> > # Example 1> print>(>'Example 1'>)> > try>:> >dictExample[>'Kamal'>]> >print>(>'The key exists in the dictionary'>)> except> KeyError as error:> >print>(>'The key doesn't exist in the dictionary'>)> > # Example 2> print>(>'Example 2'>)> > try>:> >dictExample[>'Suraj'>]> >print>(>'The key exists in the dictionary'>)> except> KeyError as error:> >print>(>'The given key doesn't exist in the dictionary'>)> |
>
>
산출:
Example 1 The key doesn't exist in the dictionary Example 2 The key exists in the dictionary>
6. 다음을 사용하여 키가 존재하는지 확인하세요. count() 메서드
세다() 메서드를 사용하여 키가 사전에 있는지 확인할 수 있습니다. 키 개수가 1이면 키가 존재하고 그렇지 않으면 존재하지 않습니다.
파이썬3
# Python3 Program to check whether a> # given key already exists in a dictionary.> > # Driver Code> dic>=> {>'a'>:>100>,>'b'>:>200>,>'c'>:>300>}> key>=> 'b'> x>=> list>(dic.keys())> res>=> 'Not Present'> if>(x.count(key)>=>=> 1>):> >res>=> 'Present'> print>(res)> |
>
>
산출:
Present>
이 기사에서는 주어진 키가 사전에 존재하는지 확인하는 데 사용할 수 있는 6가지 방법에 대해 논의했습니다. 위의 방법 중 하나를 사용하여 키가 있는지 확인할 수 있습니다. 사전에는 중복 키가 포함될 수 없으므로 키 확인은 매우 중요합니다.
비슷한 읽기:
- 파이썬 | 사전의 값에서 키 가져오기
- 주어진 여러 키가 사전에 존재하는지 확인하십시오.
- 사전 키를 목록으로 가져오기
- 튜플 키 사전에 키가 있는지 테스트