Python基本数据类型(字典)
⼀、概述
字典(Dictionary)是Python中⼀种由“键-值”组成的常⽤数据结构。
⼆、字典格式
Python中使⽤⼀对花括号“{}”或者dict()函数来创建字典。
dic = {
"one":1,
"two":2,
"three":3
}
三、键的不可变性
我们可以将Python中基本数据类型⼤致分为两类:
不可变类型:数字、字符串、元组
可变类型:列表、字典
故列表、字典不能作为字典的键。
3.从属关系的判断
与列表类似,可以⽤关键字in来判断某个键是否在字典中:
dic = {
"one":1,
"two":2,
"three":3
}
a = "one"in dic
print(a)      #结果为:True
判断某个值是否在字典中需要使⽤values()函数:
dic = {
"one":1,
"two":2,
"three":3
}
a = 4 in dic.values()
print(a)    #结果为:False
四、字典的⽅法
(1).get()⽅法
.get()⽅法根据键获取值,键不存在时,默认值为None。
dic = {
"one":1,
"two":2,
"three":3
}
a = ("s")
print(a)    #结果为:None
(2).pop()⽅法
.pop()⽅法删除并返回指定键的值。与列表的.pop()⽅法不同的是列表根据索引位置删除并返回值,⽽字典根据键删除并返回值。dic = {
"one":1,
getattribute方法返回类型"two":2,
"three":3
}
a = dic.pop("one")
print(a)      #结果为:1
(3).update()⽅法
.update()⽅法是更新多个键值对。
dic = {
"one":6,
"two":2,
"three":3
}
a = {
"one":1,
"four":4
}
dic.update(a)
print(dic)    #结果为:{'one': 1, 'two': 2, 'three': 3, 'four': 4}
(4).keys()⽅法
.keys()⽅法返回⼀个由所有键组成的列表:
dic = {
"one":1,
"two":2,
"three":3
}
print(dic.keys())    #结果为:dict_keys(['one', 'two', 'three'])
(5).values⽅法
.values⽅法返回⼀个由所有值组成的列表:
dic = {
"one":1,
"two":2,
"three":3
}
print(dic.values())    #结果为:dict_values([1, 2, 3])
(6).items⽅法
.items⽅法返回⼀个由所有键值对元组组成的列表:
dic = {
"one":1,
"two":2,
"three":3
}
print(dic.items())    #结果为:dict_items([('one', 1), ('two', 2), ('three', 3)])
字典所有⽅法归纳:
1class dict(object):
2"""
3    dict() -> new empty dictionary
4    dict(mapping) -> new dictionary initialized from a mapping object's
5        (key, value) pairs
6    dict(iterable) -> new dictionary initialized as if via:
7        d = {}
8        for k, v in iterable:
9            d[k] = v
10    dict(**kwargs) -> new dictionary initialized with the name=value pairs
11        in the keyword argument list.  For example:  dict(one=1, two=2)
12"""
13
14def clear(self): # real signature unknown; restored from __doc__
15""" 清除内容 """
16""" D.clear() -> None.  Remove all items from D. """
17pass
18
19def copy(self): # real signature unknown; restored from __doc__
20""" 浅拷贝 """
21""" D.copy() -> a shallow copy of D """
22pass
23
24    @staticmethod # known case
25def fromkeys(S, v=None): # real signature unknown; restored from __doc__ 26"""
27        dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
31
32def get(self, k, d=None): # real signature unknown; restored from __doc__
33""" 根据key获取值,d是默认值 """
34""" D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None. """
35pass
36
37def has_key(self, k): # real signature unknown; restored from __doc__
38""" 是否有key """
39""" D.has_key(k) -> True if D has a key k, else False """
40return False
41
42def items(self): # real signature unknown; restored from __doc__
43""" 所有项的列表形式 """
44""" D.items() -> list of D's (key, value) pairs, as 2-tuples """
45return []
46
47def iteritems(self): # real signature unknown; restored from __doc__
48""" 项可迭代 """
49""" D.iteritems() -> an iterator over the (key, value) items of D """
50pass
51
52def iterkeys(self): # real signature unknown; restored from __doc__
53""" key可迭代 """
54""" D.iterkeys() -> an iterator over the keys of D """
55pass
56
57def itervalues(self): # real signature unknown; restored from __doc__
58""" value可迭代 """
59""" D.itervalues() -> an iterator over the values of D """
60pass
61
62def keys(self): # real signature unknown; restored from __doc__
63""" 所有的key列表 """
64""" D.keys() -> list of D's keys """
65return []
66
67def pop(self, k, d=None): # real signature unknown; restored from __doc__
68""" 获取并在字典中移除 """
69"""
70        D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
71        If key is not found, d is returned if given, otherwise KeyError is raised
72"""
73pass
74
75def popitem(self): # real signature unknown; restored from __doc__
76""" 获取并在字典中移除 """
77"""
78        D.popitem() -> (k, v), remove and return some (key, value) pair as a
79        2-tuple; but raise KeyError if D is empty.
80"""
81pass
82
83def setdefault(self, k, d=None): # real signature unknown; restored from __doc__ 84""" 如果key不存在,则创建,如果存在,则返回已存在的值且不修改 """
85""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
86pass
87
88def update(self, E=None, **F): # known special case of dict.update
89""" 更新
90            {'name':'alex', 'age': 18000}
91            [('name','sbsbsb'),]
92"""
93"""
94        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
95        If E present and has a .keys() method, does:    for k in E: D[k] = E[k]
96        If E present and lacks .keys() method, does:    for (k, v) in E: D[k] = v
97        In either case, this is followed by: for k in F: D[k] = F[k]
98"""
99pass
100
101def values(self): # real signature unknown; restored from __doc__ 102""" 所有的值 """
103""" D.values() -> list of D's values """
104return []
105
106def viewitems(self): # real signature unknown; restored from __doc__ 107""" 所有项,只是将内容保存⾄view对象中 """
108""" D.viewitems() -> a set-like object providing a view on D's items """
109pass
110
111def viewkeys(self): # real signature unknown; restored from __doc__ 112""" D.viewkeys() -> a set-like object providing a view on D's keys """
116""" D.viewvalues() -> an object providing a view on D's values """
117pass
118
119def__cmp__(self, y): # real signature unknown; restored from __doc__ 120""" x.__cmp__(y) <==> cmp(x,y) """
121pass
122
123def__contains__(self, k): # real signature unknown; restored from __doc__ 124""" D.__contains__(k) -> True if D has a key k, else False """
125return False
126
127def__delitem__(self, y): # real signature unknown; restored from __doc__ 128""" x.__delitem__(y) <==> del x[y] """
129pass
130
131def__eq__(self, y): # real signature unknown; restored from __doc__ 132""" x.__eq__(y) <==> x==y """
133pass
134
135def__getattribute__(self, name): # real signature unknown; restored from __doc__ 136""" x.__getattribute__('name') <==> x.name """
137pass
138
139def__getitem__(self, y): # real signature unknown; restored from __doc__ 140""" x.__getitem__(y) <==> x[y] """
141pass
142
143def__ge__(self, y): # real signature unknown; restored from __doc__ 144""" x.__ge__(y) <==> x>=y """
145pass
146
147def__gt__(self, y): # real signature unknown; restored from __doc__ 148""" x.__gt__(y) <==> x>y """
149pass
150
151def__init__(self, seq=None, **kwargs): # known special case of dict.__init__ 152"""
153        dict() -> new empty dictionary
154        dict(mapping) -> new dictionary initialized from a mapping object's
155            (key, value) pairs
156        dict(iterable) -> new dictionary initialized as if via:
157            d = {}
158            for k, v in iterable:
159                d[k] = v
160        dict(**kwargs) -> new dictionary initialized with the name=value pairs
161            in the keyword argument list.  For example:  dict(one=1, two=2)
162        # (copied from class doc)
163"""
164pass
165
166def__iter__(self): # real signature unknown; restored from __doc__ 167""" x.__iter__() <==> iter(x) """
168pass
169
170def__len__(self): # real signature unknown; restored from __doc__ 171""" x.__len__() <==> len(x) """
172pass
173
174def__le__(self, y): # real signature unknown; restored from __doc__ 175""" x.__le__(y) <==> x<=y """
176pass
177
178def__lt__(self, y): # real signature unknown; restored from __doc__ 179""" x.__lt__(y) <==> x<y """
180pass
181
182    @staticmethod # known case of __new__
183def__new__(S, *more): # real signature unknown; restored from __doc__ 184""" T.__new__(S, ...) -> a new object with type S, a subtype of T """
185pass
186
187def__ne__(self, y): # real signature unknown; restored from __doc__ 188""" x.__ne__(y) <==> x!=y """
189pass
190
191def__repr__(self): # real signature unknown; restored from __doc__ 192""" x.__repr__() <==> repr(x) """
193pass
194
195def__setitem__(self, i, y): # real signature unknown; restored from __doc__ 196""" x.__setitem__(i, y) <==> x[i]=y """
200""" D.__sizeof__() -> size of D in memory, in bytes """ 201pass
202
203__hash__ = None
204
205 dict
dict