주어진 키가 Python 사전에 이미 존재하는지 확인
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에서만 사용할 수 있습니다.
파이썬
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가지 방법에 대해 논의했습니다. 위의 방법 중 하나를 사용하여 키가 있는지 확인할 수 있습니다. 사전에는 중복 키가 포함될 수 없으므로 키 확인은 매우 중요합니다.
비슷한 읽기:
- 파이썬 | 사전의 값에서 키 가져오기
- 주어진 여러 키가 사전에 존재하는지 확인하십시오.
- 사전 키를 목록으로 가져오기
- 튜플 키 사전에 키가 있는지 테스트