- 筛选出字典{‘Jack’:79, 'Jim':88, 'Lucy':92, ...}中值高于90的键值对;
创建一个随机的字典:
In [93]: s = {x:randint(10,100) for x in range(20)} In [94]: s Out[94]: {0: 78, 1: 95, 2: 74, 3: 52, 4: 78, 5: 49, 6: 85, 7: 46, 8: 94, 9: 92, 10: 67, 11: 74, 12: 13, 13: 89, 14: 58, 15: 70, 16: 38, 17: 57, 18: 96, 19: 81}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
In
[
93
]
:
s
=
{
x
:
randint
(
10
,
100
)
for
x
in
range
(
20
)
}
In
[
94
]
:
s
Out
[
94
]
:
{
0
:
78
,
1
:
95
,
2
:
74
,
3
:
52
,
4
:
78
,
5
:
49
,
6
:
85
,
7
:
46
,
8
:
94
,
9
:
92
,
10
:
67
,
11
:
74
,
12
:
13
,
13
:
89
,
14
:
58
,
15
:
70
,
16
:
38
,
17
:
57
,
18
:
96
,
19
:
81
}
|
要想过滤出字典中特定条件的值必须遍历
In [96]: for k,v in s.items(): ...: print(k, ":", v) ...: ...: 0 : 78 1 : 95 2 : 74 3 : 52 4 : 78 5 : 49 6 : 85 7 : 46 8 : 94 9 : 92 10 : 67 11 : 74 12 : 13 13 : 89 14 : 58 15 : 70 16 : 38 17 : 57 18 : 96 19 : 81
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
|
In
[
96
]
:
for
k
,
v
in
s
.
items
(
)
:
.
.
.
:
print
(
k
,
":"
,
v
)
.
.
.
:
.
.
.
:
0
:
78
1
:
95
2
:
74
3
:
52
4
:
78
5
:
49
6
:
85
7
:
46
8
:
94
9
:
92
10
:
67
11
:
74
12
:
13
13
:
89
14
:
58
15
:
70
16
:
38
17
:
57
18
:
96
19
:
81
|
# 根据列表的推导式,进行过滤
In [98]: s1 = {k:v for k,v in s.items() if v >60} In [99]: s1 Out[99]: {0: 78, 1: 95, 2: 74, 4: 78, 6: 85, 8: 94, 9: 92, 10: 67, 11: 74, 13: 89, 15: 70, 18: 96, 19: 81}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
In
[
98
]
:
s1
=
{
k
:
v
for
k
,
v
in
s
.
items
(
)
if
v
>
60
}
In
[
99
]
:
s1
Out
[
99
]
:
{
0
:
78
,
1
:
95
,
2
:
74
,
4
:
78
,
6
:
85
,
8
:
94
,
9
:
92
,
10
:
67
,
11
:
74
,
13
:
89
,
15
:
70
,
18
:
96
,
19
:
81
}
|