Python 학습 셋째 날 -- 데이터 형식 -- 사전

29825 단어 python
1. 사전 소개 (dictionary) 는 목록 을 제외 한 python 에서 가장 유연 한 내 장 된 데이터 구조 유형 입 니 다.목록 은 질서 있 는 대상 집합 이 고 사전 은 무질서 한 대상 집합 이다.이들 의 차 이 는 사전 의 요 소 는 오프셋 을 통 해 접근 하 는 것 이 아니 라 키 를 통 해 접근 하 는 것 이다.사전 은 "{}" 로 표 시 됩 니 다.사전 은 색인 (key) 과 대응 하 는 값 value 로 구성 되 어 있 습 니 다.사전 은 관련 배열 이나 해시 표 라 고도 불 린 다.사전 의 특징: 1. key 는 유일한 것 입 니 다. 사전 데이터 형식 데이터 검색 은 key 를 통 해 이 루어 집 니 다. 2. key 가 유일 하지 않 으 면 마지막 key: value 키 쌍 을 사용 하여 이전 동명 의 key: value 키 쌍 3, key 의 데이터 형식 을 바 꾸 려 면 가 변 적 이지 않 은 데이터 형식 4, value 의 데이터 형식 을 임의로 사용 해 야 합 니 다.
빈 사전 생 성:
#       
dict1 = {
     }

일반 사전 생 성
#     
dict2 = {
     'name': ' ', 'age': 18, 'sex': ' '}

공장 방법 dict () 로 만 들 기
#       dict()    :
adict1 = dict()
adict2 = dict((['x',1],['y',2]))
#   dict()      ,     ,         ,           key:value
dict1 = dict([(12, 'a'), (13, 'b')])
# print(dict1)
#   dict()      ,     ,         ,           key:value
dict1 = dict(([12, 'a'], [13, 'b']))
# print(dict1)
#   dict()      ,  key, value
dict1 = dict(key1='value1', key2='value2')
# print(dict1)

키워드 생 성
#          , :
adict3 = dict(name='allen', age='40')

from keys () 를 사용 하여 사전 을 만 듭 니 다. 다양 합 니 다.
#    
str1 = 'creat'
dict3 = dict.fromkeys(str1, 'value2')
#   
tuple1 = (1, 'a', 'b', 2)
dict3 = dict.fromkeys(tuple1, 'value2')
#   
set1 = set('key1', 'value1', 4)
dict3 = dict.fromkeys(set1, 'value2')
#   
list1 = ['key1', 'key2', 12] #               ,       
dict3 = dict.fromkeys(list1, 'value2')
print(dict3)

2: 사전 두 가지 주의사항: 1. 사전 의 키 는 하나 밖 에 없어 야 하지만 값 은 필요 없습니다.만 들 때 같은 키 가 두 번 할당 되면 다음 값 이 기 억 됩 니 다.
#    key    ,       key      
#     key,       key  
dict2 = {
     'name': ' ', 'age': 18, 'sex': ' ', 'name': 'wu'}
print(dict2)
{
     'name': 'wu', 'age': 18, 'sex': ' '}

Process finished with exit code 0

2. 키 는 가 변 적 이지 않 아야 합 니 다. 숫자, 문자열 또는 모듈 로 충당 할 수 있 지만 목록 2.1, 가 변 적 이지 않 은 형식 – 숫자 로 사용 할 수 없습니다.
# key               
#      --  
dict2 = {
     'name': ' ', 'age': 18, 'sex': ' '}
dict2[12] = 'a'
print(dict2)
{
     'name': ' ', 'age': 18, 'sex': ' ', 12: 'a'}

Process finished with exit code 0

2.2, 가 변 하지 않 는 형식 - 문자열
dict2 = {
     'name': ' ', 'age': 18, 'sex': ' '}
dict2['key1'] = 'value1'
print(dict2)
{
     'name': ' ', 'age': 18, 'sex': ' ', 'key1': 'value1'}

Process finished with exit code 0

2.3, 가 변 하지 않 는 유형 – 모듈
dict2[('key2', 'key3')] = 'value2'
print(dict2)
{
     'name': ' ', 'age': 18, 'sex': ' ', ('key2', 'key3'): 'value2'}

Process finished with exit code 0

2.4, 가 변 유형 - 목록 (잘못 보 고 될 수 있 음)
dict2[[1, 2, 3]] = 'value3'
print(dict2)
Traceback (most recent call last):
  File "D:/PycharmProjects/0406_01.py", line 29, in <module>
    dict2[[1, 2, 3]] = 'value3'
TypeError: unhashable type: 'list'

Process finished with exit code 1

3. 사전 의 수정, 업데이트 (물론 from keys () 를 사용 해도 새로 수정 할 수 있 습 니 다) 1. key 를 색인 으로 요소 의 값 을 변경 하고 key 가 존재 하면 key 의 값 을 업데이트 합 니 다.
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
#   key   、  ,  key     key  
dict1['name'] = 'wu'
print(dict1)
{
     'name': 'wu', 'age': 18, 'sex': ' '}

Process finished with exit code 0

2. key 를 색인 으로 요소 의 값 을 변경 합 니 다. key 가 존재 하지 않 으 면 key: value 를 추가 합 니 다.
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
#   key   、  ,  key   ,     key:value
dict1['address'] = '     '
print(dict1)
{
     'name': ' ', 'age': 18, 'sex': ' ', 'address': '     '}

Process finished with exit code 0

4. 사전 의 관련 함수 1. keys () 함수
# keys()  ,          KEY   ,         ,                    ,        
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
print(list(dict1.keys()))
['name', 'age', 'sex']

Process finished with exit code 0

2. values () 함수
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
print(list(dict1.values()))
[' ', 18, ' ']

Process finished with exit code 0

3. 함수 삭제, del, clear (), pop ()
#   , del、clear()、pop()
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
del dict1['name']
dict1.clear()
dict1.pop('name')  # pop()    key     ,               
dict1.pop('abc', '  key   ') # pop(key,     )     key,            

4. get () 함수
# get(key,'default    ')  ,     key    , key      ,   default  (default   None)
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
# dict1.get('name')
print(dict1.get('name'))
# dict1.get('abc', '  key   ')
print(dict1.get('abc', '  key   '))
 
  key   

Process finished with exit code 0

5. update () 함수
# update()  ,   dict1         dict2 ,    ,    
dict1 = {
     'name': ' ', 'age': 18, 'sex': ' '}
dict2 = {
     'name': ' ', 'age': 20, 'address': '     '}
dict1.update(dict2)
print(dict1)
{
     'name': ' ', 'age': 20, 'sex': ' ', 'address': '     '}

Process finished with exit code 0

좋은 웹페이지 즐겨찾기