簡単な操作(編集、削除、ネスティング、トラバース、コピー)のPythonの辞書

A、Pythonの辞書(辞書)

簡単な操作(編集、削除、ネスティング、トラバース、コピー)のPythonの辞書

もう一つの変数は、辞書コンテナモデルであり、任意の型のオブジェクトを格納することができます。

各キーと値の辞書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)
上記の出力の例:
# 原来的数据
{'河北':'石家庄','甘肃':'兰州','四川':'成都'}

# 访问键(河北)
石家庄

# 添加键值对('山西': '太原')
{'河北': '石家庄', '甘肃': '兰州', '四川': '成都', '山西': '太原'}

# 修改字典的值(石家庄改为邢台)
{'河北': '邢台', '甘肃': '兰州', '四川': '成都', '山西': '太原'}

# 删除字典的键-值对(四川)
{'河北': '邢台', '甘肃': '兰州', '山西': '太原'}

第二に、横断辞書

簡単な操作(編集、削除、ネスティング、トラバース、コピー)のPythonの辞書

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)既に空の辞書に存在する辞書を追加するために、Pythonプログラムを書きます。

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')])

第三に、ネストされたリストや辞書

簡単な操作(編集、削除、ネスティング、トラバース、コピー)のPythonの辞書

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、そして2つの辞書は、名前の人物のリストを格納するために、教師を表現するために2つの辞書を作成します。リストをウォーク、各教師が情報をプリントアウトする必要があります。

(1)教師を表すために2つの辞書を作成します

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)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は、複数の辞書を作成し、各辞書は、名前Aペットの名前を使用しています。すべての辞書には、ペットの種類と所有者の名前を含みます。これらの辞書は、情報のペットが印刷され、ペットの名前のリストに格納し、リストを横断しています。

(1)複数の辞書を作成し、各辞書は、名前Aペットの名前を使用して、すべての辞書に、ペットの種類、および所有者の名前を含みます。

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

おすすめ

転載: blog.51cto.com/14320361/2478891