>  기사  >  백엔드 개발  >  Python 사전 적용에 대한 자세한 설명

Python 사전 적용에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2016-12-08 11:14:571617검색

1. 사전 만들기

방법 ①:
>>> dict1 = {}
>>> port': 80}
>>> dict1, dict2
({}, {'port': 80, 'name': 'earth'})

방법 ②: From Python 2.2 버전
>>> fdict = dict((['x', 1], ['y', 2]))
>>> y': 2, 'x': 1}

방법 ③:

Python 2.3부터, 매우 편리한 내장 메서드 fromkeys()를 사용하여 "기본값"을 생성할 수 있습니다. 사전, 사전의 요소는 동일한 값을 갖습니다(제공되지 않은 경우 기본값은 None임):
>>> ddict = {}.fromkeys(('x', 'y'), -1)
>>> ddict
{'y': -1, 'x': -1}
>>
>>> .fromkeys(('foo', 'bar'))
>>> edict
{'foo': None, 'bar': None}

접근 방법. 사전의 값

① 사전을 탐색하려면(보통 키를 사용하여) 다음과 같이 해당 키만 반복하면 됩니다.
>>> : 'earth', 'port': 80}
>>>
>>>> for key in dict2.keys():
... print 'key = %s, value=%s' % (key, dict2[key])
...
key=name, value=earth
key=port, value=80

②시작 Python 2.2에서
for 루프에서 사전을 탐색합니다.
>>> dict2 = {'name': 'earth', 'port': 80}
>>
>>>> :
... 인쇄 'key=%s, value=%s' % (key, dict2[key])
...
key=name, value=earth
key=port , value=80


사전에 있는 요소의 값을 얻으려면 익숙한 사전 키와 대괄호를 사용하여 값을 얻을 수 있습니다.
>>> dict2[' name']
'earth'
>>>
>>> print '%s 호스트가 %d 포트에서 실행 중입니다' %
... ( dict2[' name'], dict2['port'])
호스트 Earth가 포트 80에서 실행 중입니다


③사전의 모든 방법. has_key() 및 in 및 not in 연산자는 모두 dict2 # 또는 dict2.has_key('server')
False
>>의 부울 유형
>>>입니다. ;> dict #의 'name' 또는 dict2.has_key('name')
True
>>> dict2['name']
'earth'
숫자 및 문자열의 예:
>>> dict3 = {}
>>> dict3[1] = 'abc'
>> ] = 3.14159
>>> dict3[3.2] = 'xyz'
>>> dict3
{3.2: 'xyz', 1: 'abc', '1': 3.14159}


3. 사전 업데이트

커버리지 업데이트 채택
위의 예에서 dict2['name']='earth';
Update dict2[' name ']='abc';

4. 사전 요소 및 사전 삭제
del dict2['name'] # "name" 키가 있는 항목 삭제
dict2.clear() # dict2 삭제
del dict2의 모든 항목 # dict2 사전 전체 삭제
dict2.pop('name') # 키가 "name"인 항목을 삭제하고 반환

dict2 = {'name' : 'earth', 'port': 80}
>>> dict2.keys()
['port', 'name']
>>
> ;> ;> dict2.values()
[80, '지구']
>>>
>>> dict2.items()
[('포트 ', 80), ('이름', '지구')]
>>>
>>> dict2.keys()의 각 키에 대해:
... 인쇄 ' dict2 key ', EachKey, '값 있음', dict2[eachKey]
...
dict2 키 포트의 값은 80입니다.
dict2 키 이름의 값은 Earth


update( ) 메소드 한 사전의 내용을 다른 사전에 추가하는 데 사용할 수 있습니다

{'server': 'http', 'port': 80, 'host': 'venus'}
>> ; > dict3.clear()
>>> dict3


5. > ;>> dict(x=1, y=2)
{'y': 2, 'x': 1}
>>> dict8 = dict(x=1, y = 2)
>>> dict8
{'y': 2, 'x': 1}
>>> dict9 = dict(**dict8)
> ; >> dict9
{'y': 2, 'x': 1}

dict9 = dict8.copy()

사전 내장 메서드:

사전 키 값: dict9.keys()

사전 값: dict9.values()

사전 모든 항목: dict9.items()

사전 값 반환 : dict9 .get('y')

표 7.2 사전 유형 메소드

메소드 이름 작업

dict.cleara()는 사전의 모든 요소를 ​​삭제합니다.

dict.copya()는 사전의 복사본(얕은 복사본)을 반환합니다.

dict.fromkeysc (seq ,val=None) c는 seq의 요소를 사전의 키로 사용하고 val을 사전의 모든 키에 해당하는 초기 값으로 사용하여 새 사전을 생성하고 반환합니다(이 값이 제공되지 않으면 기본값은 None)

dict.get(key,default=None)a 사전 dict의 키에 대해 해당 값을 반환합니다. 키가 사전에 없으면 기본값을 반환합니다. value (매개변수 default의 기본값은 None입니다.)

dict.has_key(key) 키가 사전에 있으면 True를 반환하고, 그렇지 않으면 in이 아닌 in이 도입된 후에 False를 반환합니다. Python2.2에서는 이 방법이 거의 폐기되었지만 여전히
작업 인터페이스를 제공합니다.

dict.items() 사전에 있는 (키, 값) 쌍의 튜플을 포함하는 목록을 반환합니다.

dict.keys() 사전에 있는 키가 포함된 목록을 반환합니다.

dict.iter()d iteritems(), iterkeys() 및 itervalues() 메서드는 목록 대신 반복자를 반환한다는 점을 제외하면 비반복 메서드와 동일합니다.

dict.popc(key[, default]) c는 get() 메서드와 유사합니다. 키 키가 사전에 있으면 삭제하고 키 키가 없으면 반환합니다. 기본값이 주어지지 않으면 KeyError 예외가 발생합니다.

dict.setdefault(key,default=None)e는 set() 메서드와 유사합니다. 키 키가 사전에 없으면 dict[key]=default에 의해 값이 할당됩니다.

dict.update(dict2)a 사전 dict2의 키-값 쌍을 사전 dict에 추가합니다

dict.values() 사전의 모든 값을 포함하는 목록을 반환합니다

① ② ③ ④ ⑤ 7 8 ⑩
6. 컬렉션 유형
① set 팩토리 메소드 set() 및frozenset() 사용:
>>> s = set('cheeseshop')
>> ; >s
set(['c', 'e', ​​​​'h', 'o', 'p', 's'])
>>> '서점' )
>>> t
frozenset(['b', 'h', 'k', 'o', 'p', 's'])
> >> ; 유형(들)
<'set' 유형>
>>> 유형(t)
<'frozenset' 유형>

②방법 세트를 업데이트하려면
다양한 컬렉션 내장 메서드와 연산자를 사용하여 컬렉션 멤버를 추가하고 삭제하세요.
>>> s.add('z')
>>> ; s
set(['c', 'e', ​​​​'h', 'o', 'p', 's', 'z'])
>>> update('pypi')
>>> s
set(['c', 'e', ​​​​'i', 'h', 'o', 'p', 's ', 'y', 'z '])
>>> s.remove('z')
>>>s
set(['c', 'e ', ​​'i', 'h', 'o', 'p', 's', 'y'])
>>> s -= set('pypi')
>>> s
set(['c', 'e', ​​​​'h', 'o', 's'])

3세트 삭제
del s

④멤버십(in, not in)
>>> s = set('cheeseshop')
>>> t =frozenset('bookshop')
> ;>> s의 'k'
거짓
>>> t의 'k'

>>> t의 'c' True

⑤ 동등/비동등
>>> s == t
False
>>> s != t
True
>>> u = Frozenset(s)
>>> s == u

>>> set('posh') == set('shop ')


⑥차집합/상대보수(-)
두 집합(s와 t)의 차이보수 또는 상대보수는 집합 C를 가리킨다. 이 집합의 원소는 오직
세트 t에 속하지 않고 세트 s에 속합니다. 차이 기호에 대해 동일한 방법인 Difference()가 있습니다.
>>> s - t
set(['c', 'e'])

대칭 차이( ^ ): 대칭적 차이는 집합의 XOR입니다

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.