1つの記事でPythonを理解する(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)メソッド:指定されたキーの値を返します。値がディクショナリにない場合は、デフォルト値を返します。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