字典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()排序 随机删除,并获取删除的键值以元组形式返回索引 |