3
字典項目的順序是否可靠創建時?創建時字典項目的順序是否可靠**?
注意:這是不是重複所有的問題,人們預計dict
行爲像OrderedDict
。
我想要做的是將json字典傳遞給AWS Lambda函數。該字典的大部分內容將來自open
文件處理程序。它是這樣的:
params = {
"FunctionName": "log_load",
"Payload": json.dumps({
"header": fh.readline(),
"start": fh.tell(),
"data": fh.read(),
"end": fh.tell()})}
result = lambda_client.invoke(**params)
它所有的fh
對象的那些方法是調用它們列出的順序是很重要的。稍後閱讀時,我不關心字典的順序。
我可以依靠列出的順序調用這4個函數嗎?
我在下面創建了一個測試,它給了我一個我可以做的軼事證據。但是,我甚至無法得到pprint顯示亂序字典的情況。所以,我並不感到驚訝的是,這些鍵匹配的值。
from pprint import pprint
r = range(100)
i = r.__iter__()
d = {
0: i.__next__(),
1: i.__next__(),
2: i.__next__(),
3: i.__next__(),
4: i.__next__(),
5: i.__next__(),
6: i.__next__(),
7: i.__next__(),
8: i.__next__(),
9: i.__next__(),
10: i.__next__(),
11: i.__next__(),
12: i.__next__(),
13: i.__next__(),
14: i.__next__(),
15: i.__next__(),
16: i.__next__(),
17: i.__next__(),
18: i.__next__(),
19: i.__next__(),
20: i.__next__(),
21: i.__next__(),
22: i.__next__(),
23: i.__next__(),
24: i.__next__(),
25: i.__next__(),
26: i.__next__(),
27: i.__next__(),
28: i.__next__(),
29: i.__next__(),
30: i.__next__(),
31: i.__next__(),
32: i.__next__(),
33: i.__next__(),
34: i.__next__(),
35: i.__next__(),
36: i.__next__(),
37: i.__next__(),
38: i.__next__(),
39: i.__next__(),
40: i.__next__(),
41: i.__next__(),
42: i.__next__(),
43: i.__next__(),
44: i.__next__(),
45: i.__next__(),
46: i.__next__(),
47: i.__next__(),
48: i.__next__(),
49: i.__next__(),
50: i.__next__(),
51: i.__next__(),
52: i.__next__(),
53: i.__next__(),
54: i.__next__(),
55: i.__next__(),
56: i.__next__(),
57: i.__next__(),
58: i.__next__(),
59: i.__next__(),
60: i.__next__(),
61: i.__next__(),
62: i.__next__(),
63: i.__next__(),
64: i.__next__(),
65: i.__next__(),
66: i.__next__(),
67: i.__next__(),
68: i.__next__(),
69: i.__next__(),
70: i.__next__(),
71: i.__next__(),
72: i.__next__(),
73: i.__next__(),
74: i.__next__(),
75: i.__next__(),
76: i.__next__(),
77: i.__next__(),
78: i.__next__(),
79: i.__next__(),
80: i.__next__(),
81: i.__next__(),
82: i.__next__(),
83: i.__next__(),
84: i.__next__(),
85: i.__next__(),
86: i.__next__(),
87: i.__next__(),
88: i.__next__(),
89: i.__next__(),
90: i.__next__(),
91: i.__next__(),
92: i.__next__(),
93: i.__next__(),
94: i.__next__(),
95: i.__next__(),
96: i.__next__(),
97: i.__next__(),
98: i.__next__(),
99: i.__next__()}
pprint(d, width=-1, indent=4)
謝謝。那是我用Google搜索找不到的。我會在5分鐘內接受你的回答,當它也允許我。你擊敗了蜂鳴器。 –