A, 파이썬 사전 (사전)
또 다른 변수는 사전 컨테이너 모델이며, 모든 유형의 개체를 저장할 수 있습니다.
각 키 - 값 사전 key=>value
대장 : 분할 괄호로 전체를 포함한 각 사전 분할, 콤마 (,)로 구분하여 키 - 값 쌍은 {}
다음과 같은 형식 :
d = {key1 : value1, key2 : value2 }
키 - 값의 마지막 반복 바꾸는 경우 일반적으로 고유 키는 앞의 값은 고유 할 필요는 없다.
>>>dict = {'a': 1, 'b': 2, 'b': '3'}
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}
값은 모든 데이터 유형이 걸릴 수 있지만, 키는 문자열, 숫자 또는 터플로, 불변해야합니다.
도 1을 참조하면, 예를
# python的数据类型:字典
# 数据类型与变量关联
name = 'bily'
num = 89
key = 88.8
list = [3,4,5,6]
tuple = (6,4,68)
# 字典的例子:键和值
dict = {'name':'老周','age':'29','job':'程序员'}
print(dict)
dict1={1:101,2:102}
print(dict1)
상기 출력의 예 :
{'name': '老周', 'age': '29', 'job': '程序员'} {1: 101, 2: 102}
테이블과 값은 튜플에 직접 작성하고, 사전 키와 값이 필요 할 수 있습니다.
2 조작 간단한 사전
# 定义一个字典
dict2 = {
'河北':'石家庄',
'甘肃':'兰州',
'四川':'成都'
}
print(dict2)
# 对字典进行访问(取值)==> 值=字典的名称[键]
sjz = dict2['河北']
print(sjz)
# 添加字典的数据(键值对)
dict2['山西']='太原'
print(dict2)
# 修改字典的值
dict2['河北']='邢台'
print(dict2)
# 删除字典的键-值对
del dict2['四川']
print(dict2)
상기 출력의 예 :
# 原来的数据 {'河北':'石家庄','甘肃':'兰州','四川':'成都'} # 访问键(河北) 石家庄 # 添加键值对('山西': '太原') {'河北': '石家庄', '甘肃': '兰州', '四川': '成都', '山西': '太原'} # 修改字典的值(石家庄改为邢台) {'河北': '邢台', '甘肃': '兰州', '四川': '成都', '山西': '太原'} # 删除字典的键-值对(四川) {'河北': '邢台', '甘肃': '兰州', '山西': '太原'}
둘째, 횡단 사전
1 사전 정의
dict = {'name':'老周','age':'29','job':'程序员'}
# 遍历字典:键值对的集合、健的集合、值的集合
for key,value in dict.items():
print(key+":"+value)
상기 출력의 예 :
name:老周 age:29 job:程序员
2 공통 사전 탐색 방법
print(dict.items())
print(dict.keys())
print(dict.values())
상기 출력의 예 :
dict_items([('name', '老周'), ('age', '29'), ('job', '程序员')]) dict_keys(['name', 'age', 'job']) dict_values(['老周', '29', '程序员'])
번호 3, 사전 요소
print(len(dict))
상기 출력의 예 :
3
4, 사전 복사
dict1 = {}
dict1 = dict.copy()
print(dict1)
상기 출력의 예 :
{'name': '老周', 'age': '29', 'job': '程序员'}
5, 사전 키 순서
print(sorted(dict1.keys()))
print(sorted(dict1.values()))
for info in sorted(dict1.keys()):
print(info,end=" ")
print("\n")
for info in sorted(dict1.keys()):
print(value,end=" ")
상기 출력의 예 :
['age', 'job', 'name'] ['29', '程序员', '老周'] age job name 程序员 程序员 程序员
6, 사전 기능을 이용하면 값을 가져
print(dict1.get('age'))
상기 출력의 예 :
29
(7), 사전 방법 삭제
# 删除字典
# dicr1.clear()
dict = {'name':'老周','age':'29','job':'程序员'}
print(dict)
# 删除末尾
#print(dict.popitem())
#print(dict)
# 指定删除
print(dict.pop('age'))
print(dict)
상기 출력의 예 :
{'name': '老周', 'age': '29', 'job': '程序员'} 29 {'name': '老周', 'job': '程序员'}
8 작은 실천
사전 (1)의 제조는 소정의 키가 이미 사전에 존재하는지 여부를 확인한다.
dict = {
'name':'xgp',
'ah':'sleep',
'yd':'pb',
}
print(dict)
상기 출력의 예 :
{'name': 'xgp', 'ah': 'sleep', 'yd': 'pb'}
(2) 이미 빈 사전에 존재하는 사전을 추가, 파이썬 프로그램을 작성.
dict1 = {}
dict1 = dict.copy()
print(dict1)
상기 출력의 예 :
{'name': 'xgp', 'ah': 'sleep', 'yd': 'pb'}
사전 (3) 제조, 모든 키의 키 - 값 쌍의 사전 탐색.
dict2 = {
'1':'1',
'2':'2',
'3':'3',
'4':'4',
'5':'5'
}
print(dict2.keys())
print(dict2.values())
print(dict2.items())
상기 출력의 예 :
dict_keys(['1', '2', '3', '4', '5']) dict_values(['1', '2', '3', '4', '5']) dict_items([('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5')])
셋째, 중첩 목록 및 사전
1 사전 정의
dict = {'name':'老周','age':'29','job':'程序员'}
dict1 = {'name':'老周','age':'29'}
dict2 = {'age':'29','job':'程序员'}
print(dict,dict1,dict2)
상기 출력의 예 :
{'name':'老周','age':'29','job':'程序员'},{'name':'老周','age':'29'},{'age':'29','job':'程序员'}
2, 중첩 된 사전의 목록
list = [dict,dict1,dict2]
print(list)
상기 출력의 예 :
[{'name': '老周', 'age': '29', 'job': '程序员'}, {'name': '老周', 'age': '29'}, {'age': '29', 'job': '程序员'}] {'pet': ['cat', 'dog', 'duck']}
3, 사전 중첩 된 목록
dict3 ={'pet':['cat','dog','duck']}
print(dict3)
상기 출력의 예 :
{'pet': ['cat', 'dog', 'duck']}
4 사전 중첩 사전
dict4 = {
'age':{'gir1':'18','boy':'20'},
'job':{'man':'IT','women':'db'}
}
print(dict4)
for key, value in dict4.items():
print('key:'+key,end=" ")
for v in value.items():
print(v)
상기 출력의 예 :
{'age': {'gir1': '18', 'boy': '20'}, 'job': {'man': 'IT', 'women': 'db'}} key:age ('gir1', '18') ('boy', '20') key:job ('man', 'IT') ('women', 'db')
넷째, 작은 테스트
1, 교사를 대표하는 두 개의 사전을 만든 다음 두 개의 사전 명명 된 사람의 목록을 저장합니다. 목록을 걸어, 각 교사는 정보를 인쇄해야합니다.
(1) 교사를 대표하는 두 개의 사전을 만들
dict = {
'name':'xgp',
'age':'18',
'job':'编程老师'
}
dict1 = {
'name':'wsd',
'age':'20',
'job':'运维老师'
}
print(str(dict)+str(dict1))
상기 출력의 예 :
{'name': 'xgp', 'age': '18', 'job': '编程老师'}{'name': 'wsd', 'age': '20', 'job': '运维老师'}
(2) 두 개의 사전라는 사람 목록에 저장
person = [dict,dict1]
print(person)
상기 출력의 예 :
[{'name': 'xgp', 'age': '18', 'job': '编程老师'}, {'name': 'wsd', 'age': '20', 'job': '运维老师'}]
(3) 목록을 걸어, 각 교사는 정보를 인쇄해야합니다
for key,value in person[0].items():
print(key+":"+value)
print('\n')
for key,value in person[1].items():
print(key+":"+value)
상기 출력의 예 :
name:xgp age:18 job:编程老师 name:wsd age:20 job:运维老师
2, 여러 사전을 만들고, 각 사전의 이름을 애완 동물의 이름을 사용하며, 모든 사전에, 애완 동물의 종류와 소유자의 이름을 포함. 이 사전은 애완 동물의 이름이 목록에 저장하고 목록을 통과하는, 정보 애완 동물이 인쇄됩니다.
(1) 복수의 사전 생성은 각 딕셔너리는 애완 동물의 이름을 이름을 사용하며, 모든 사전, 애완 동물의 종류 및 소유자의 이름을 포함.
dog = {
'dog':'柯基',
'type':'Optimistic',
'master':'xgp',
}
cat = {
'cat':'加菲猫',
'type':'lively',
'master':'wsd'
}
bird = {
'bird':'鹦鹉',
'type':'free',
'master':'dsw'
}
print(dog)
print(cat)
print(bird)
상기 출력의 예 :
{'dog': '柯基', 'type': 'Optimistic', 'master': 'xgp'} {'cat': '加菲猫', 'type': 'lively', 'master': 'wsd'} {'bird': '鹦鹉', 'type': 'free', 'master': 'dsw'}
(2)이 사전은 애완 동물의 이름이 목록에 저장됩니다
pets = [dog,cat,bird]
print(pets)
상기 출력의 예 :
[{'dog': '柯基', 'type': 'Optimistic', 'master': 'xgp'}, {'cat': '加菲猫', 'type': 'lively', 'master': 'wsd'}, {'bird': '鹦鹉', 'type': 'free', 'master': 'dsw'}]
(3) 목록을 통과, 애완 동물의 정보를 인쇄해야합니다
for key,value in pets[0].items():
print(key+":"+value)
print('\n')
for key,value in pets[1].items():
print(key+":"+value)
print('\n')
for key,value in pets[2].items():
print(key+":"+value)
상기 출력의 예 :
dog:柯基 type:Optimistic master:xgp cat:加菲猫 type:lively master:wsd bird:鹦鹉 type:free master:dsw