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입니다