equal
deleted
inserted
replaced
1251 >>> d2 |
1251 >>> d2 |
1252 sortdict([('a', 0), ('b', 1)]) |
1252 sortdict([('a', 0), ('b', 1)]) |
1253 >>> d2.update([(b'a', 2)]) |
1253 >>> d2.update([(b'a', 2)]) |
1254 >>> list(d2.keys()) # should still be in last-set order |
1254 >>> list(d2.keys()) # should still be in last-set order |
1255 ['b', 'a'] |
1255 ['b', 'a'] |
|
1256 >>> d1.insert(1, b'a.5', 0.5) |
|
1257 >>> d1 |
|
1258 sortdict([('a', 0), ('a.5', 0.5), ('b', 1)]) |
1256 ''' |
1259 ''' |
1257 |
1260 |
1258 def __setitem__(self, key, value): |
1261 def __setitem__(self, key, value): |
1259 if key in self: |
1262 if key in self: |
1260 del self[key] |
1263 del self[key] |
1264 # __setitem__() isn't called as of PyPy 5.8.0 |
1267 # __setitem__() isn't called as of PyPy 5.8.0 |
1265 def update(self, src): |
1268 def update(self, src): |
1266 if isinstance(src, dict): |
1269 if isinstance(src, dict): |
1267 src = pycompat.iteritems(src) |
1270 src = pycompat.iteritems(src) |
1268 for k, v in src: |
1271 for k, v in src: |
|
1272 self[k] = v |
|
1273 |
|
1274 def insert(self, position, key, value): |
|
1275 for (i, (k, v)) in enumerate(list(self.items())): |
|
1276 if i == position: |
|
1277 self[key] = value |
|
1278 if i >= position: |
|
1279 del self[k] |
1269 self[k] = v |
1280 self[k] = v |
1270 |
1281 |
1271 |
1282 |
1272 class cowdict(cow, dict): |
1283 class cowdict(cow, dict): |
1273 """copy-on-write dict |
1284 """copy-on-write dict |