字典dict
是一個鍵(key)值(value)對,結構爲{},大括號python
建立字典數組
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
info
=
{
# k1 k2 k3 k4爲鍵
"k1"
:
18
,
# :後面分別爲值 逗號爲分隔符
"k2"
:
True
,
# 數字,布爾值也能夠做爲鍵
"k3"
: [
11
,
[],
(),
22
,
33
,
{
'kk1'
:
'vv1'
,
'kk2'
:
'vv2'
,
'kk3'
: (
11
,
22
),
}
],
"k4"
: (
11
,
22
,
33
,
44
)
}
|
字典的值能夠是任何值函數
- 列表,字典不能做爲字典的key
- 字典是無序的
- 字典不能被切片,由於它是無序的;可根據索引取值,查找,找到元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
info
=
{
"k1"
:
18
,
"k2"
:
True
,
"k3"
: [
11
,
[],
(),
22
,
33
,
{
'kk1'
:
'vv1'
,
'kk2'
:
'vv2'
,
'kk3'
: (
11
,
22
),
}
],
"k4"
: (
11
,
22
,
33
,
44
)
}
v
=
info[
'k1'
]
print
(v)
$
18
|
字典是支持del 刪除的post
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
info
=
{
"k1"
:
18
,
"k2"
:
True
,
"k3"
: [
11
,
[],
(),
22
,
33
,
{
'kk1'
:
'vv1'
,
'kk2'
:
'vv2'
,
'kk3'
: (
11
,
22
),
}
],
"k4"
: (
11
,
22
,
33
,
44
)
}
del
info[
'k1'
]
print
(info)
$ {
'k4'
: (
11
,
22
,
33
,
44
),
'k3'
: [
11
, [], (),
22
,
33
, {
'kk1'
:
'vv1'
,
'kk3'
: (
11
,
22
),
'kk2'
:
'vv2'
}],
'k2'
:
True
}
|
支持for循環spa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
info
=
{
"k1"
:
18
,
"k2"
:
True
,
"k3"
: [
11
,
[],
(),
22
,
33
,
{
'kk1'
:
'vv1'
,
'kk2'
:
'vv2'
,
'kk3'
: (
11
,
22
),
}
],
"k4"
: (
11
,
22
,
33
,
44
)
}
for
item
in
info:
print
(item)
$ k4
$ k2 info是字典類型
$ k1 默認
for
循環只有key
$ k3 可是輸出結果鍵每次排序都不一樣,由於字典是無序的
|
用for循環獲取值valuescode
1
2
3
4
5
6
7
8
9
|
代碼接上
for
item
in
info.values():
print
(item)
$ (
11
,
22
,
33
,
44
)
$ [
11
, [], (),
22
,
33
, {
'kk3'
: (
11
,
22
),
'kk2'
:
'vv2'
,
'kk1'
:
'vv1'
}]
$
True
$
18
|
既想獲取key又想獲取value則用itemsblog
1
2
3
4
5
6
7
8
9
|
代碼接上
for
item
in
info.items():
print
(item)
# keys和values均可以得到
$ (
'k1'
,
18
)
$ (
'k4'
, (
11
,
22
,
33
,
44
))
$ (
'k2'
,
True
)
$ (
'k3'
, [
11
, [], (),
22
,
33
, {
'kk2'
:
'vv2'
,
'kk3'
: (
11
,
22
),
'kk1'
:
'vv1'
}])
|
字典的方法(魔法)
序號 | 函數及描述 |
---|---|
1 | dict.clear() 刪除字典內全部元素 |
2 | dict.copy() 返回一個字典的淺複製 |
3 | dict.fromkeys() 建立一個新字典,以序列seq中元素作字典的鍵,val爲字典全部鍵對應的初始值 |
4 | dict.get(key, default=None) 返回指定鍵的值,若是值不在字典中返回default值 |
5 | key in dict 若是鍵在字典dict裏返回true,不然返回false |
6 | dict.items() 以列表返回可遍歷的(鍵, 值) 元組數組 |
7 | dict.keys() 以列表返回一個字典全部的鍵 |
8 | dict.setdefault(key, default=None) 和get()相似, 但若是鍵不存在於字典中,將會添加鍵並將值設爲default |
9 | dict.update({'k1':'v1'} OR k1=v1) 把字典dict2的鍵/值對更新到dict裏 |
10 | dict.values() 以列表返回字典中的全部值 |
11 | dict.popitem()排序 隨機刪除,並獲取刪除的鍵值以元組形式返回索引 |