하나의 기사로 파이썬 이해하기 (3) ----- 사전

사전은 목록, 튜플 및 문자열과 다릅니다. 목록, 튜플 및 문자열은 다음과 같은 특성을 가진 시퀀스 유형으로 요약 할 수 있습니다.

  • 1. 각 요소는 인덱스로 얻을 수 있습니다.
  • 2. 기본 색인 값은 항상 0부터 시작합니다.
  • 3. 슬라이스하여 범위 내의 요소 집합을 얻을 수 있습니다.
  • 4. 공통 연산자가 많고
    딕셔너리는 완전히 다른 매핑 유형입니다.

1. 사전 만들기

1.1 일반적으로 사용되는 생성 방법

dict1 = {
    
    '李宁':'云','耐克':'zoom','阿迪达斯':'boost','匹克':'态极'}

1.2 튜플을 사용하여 생성

dict2 = dict((('a',1),('b',2),('c',3),('d',4)))

1.3 다른 생성 방법

dict3 = dict(马斯克 = '让编程改变世界',爱因斯坦 = '广义狭义相对论')

2. 사전 수정

dict3['李宁'] = '一切皆有可能'
# 如果字典中没有该元素,通过上述这种方式会新添加该元素到字典中
dict3['奋斗'] = '社会上容纳不了太多有理想的人'

3. 일반적인 방법

3.1 fromkeys (seq, val) 메서드 : 새 사전 생성, 시퀀스 seq의 요소를 사전의 키로 사용, val은 사전의 모든 키에 해당하는 초기 값, val은 선택 사항

# 若没有设置val,默认为None
dict1 = {
    
    }
dict1.fromkeys((1,2,3))
# 设置val为number,则创建的字典值为number
dict1.fromkeys((1,2,3),'number')

3.2 keys () : 사전의 모든 키 값 가져 오기

dict2 = {
    
    }
dict2 = dict2.fromkeys(range(30),'赞')
for each in dict2.keys():
    print(each)

3.3 values ​​() : 사전의 모든 값 가져 오기

for each in dict2.values():
    print(each)

3.4 items () 메서드 : 사전의 각 항목을 튜플 형태로 인쇄

for each in dict2.items():
    print(each)

3.5 get (key, default) 메서드 : 지정된 키의 값을 반환합니다. 값이 사전에 없으면 기본값을 반환합니다. 기본값은 선택 사항입니다.

# dict2字典中只有30个元素,索引值0~29,没有30,因此返回一个None
print(dict2.get(30))
print(dict2.get(29))

3.6 in / not in : 키가 사전에 있는지 확인 ¶

32 in dict2
29 in dict2

3.7 copy () : 이것은 얕은 카피이고 직접적인 동등성은 같은 것이 아닙니다.

a = {
    
    1:'one',2:'two'}
# 浅拷贝
b = a.copy()
# 通过打印首地址来确认
print(id(a))
print(id(b))
# 可以发现不是相同的

여기에 사진 설명 삽입

# 深拷贝
c = a
print(id(c))
print(id(a))
# 可以发现这是一致的

여기에 사진 설명 삽입

3.8 pop (key, default) : 사전의 주어진 키 키에 해당하는 값을 삭제하고 반환 값은 삭제 된 값입니다. 키 값을 제공해야합니다. 그렇지 않으면 기본값이 반환됩니다.

dict2.pop(27)

3.9 popitem () : 사전에서 마지막 키와 값 쌍을 반환하고 삭제합니다.

dict2.popitem()

3.10 setdefault (key, default) : get ()과 비슷하지만 사전에 키가 없으면 키가 추가되고 값이 기본값으로 설정됩니다.

dict2.setdefault(26,'woaini')

3.11 update (dict2) : 사전 dict2의 키 / 값 쌍을 dict로 업데이트

dict2.update({
    
    99:'kk'})

추천

출처blog.csdn.net/dongjinkun/article/details/112803004