Các đối tượng `dict` của Python hiện duy trì thứ tự chèn trong triển khai CPython tham chiếu — nhưng việc dựa vào thuộc tính đó rất rủi ro
Cho đến gần đây, từ điển Python không giữ nguyên thứ tự các mục được thêm vào chúng. Chẳng hạn, bạn có thể gõ
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
4 và nhận lại In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
5. Nếu bạn muốn một từ điển giữ nguyên trật tự, bạn có thể sử dụng lớp In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6 trong mô-đun thư viện tiêu chuẩn In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
7Tuy nhiên, tình trạng này đang thay đổi. Các đối tượng
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 tiêu chuẩn bảo toàn thứ tự trong triển khai tham chiếu [CPython] của Python 3. 5 và 3. 6 và thuộc tính giữ nguyên thứ tự này đang trở thành một tính năng ngôn ngữ trong Python 3. 7Bạn có thể nghĩ rằng sự thay đổi này khiến lớp
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6 trở nên lỗi thời. Tuy nhiên, có ít nhất hai lý do chính đáng để tiếp tục sử dụng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6. Đầu tiên, việc dựa vào các đối tượng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 tiêu chuẩn để duy trì trật tự sẽ khiến mã của bạn bị hỏng trên các phiên bản CPython sớm hơn 3. 5 và trên một số triển khai thay thế của Python 3. 5 và 3. 6. Thứ hai, việc sử dụng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6 truyền đạt ý định của bạn dựa trên thứ tự các mục trong từ điển của bạn được bảo tồn, cho cả người đọc mã của bạn và thư viện bên thứ ba mà bạn gọi trong đóTrên thực tế, một số công cụ được sử dụng rộng rãi trong khoa học dữ liệu giả định rằng thứ tự của các mục trong
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 là không đáng kểIPython giả định rằng thứ tự In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 không thành vấn đềXem xét ví dụ này phiên
In [5]: from collections import OrderedDict
In [6]: my_ordered_dict = OrderedDict[[[letter, [1]] for letter in ascii_lowercase[::-1]]]
In [7]: print[my_ordered_dict]
OrderedDict[[['z', [1]], ['y', [1]], ['x', [1]], ['w', [1]], ['v', [1]], ['u', [1]], ['t', [1]], ['s', [1]], ['r', [1]], ['q', [1]], ['p', [1]], ['o', [1]], ['n', [1]], ['m', [1]], ['l', [1]], ['k', [1]], ['j', [1]], ['i', [1]], ['h', [1]], ['g', [1]], ['f', [1]], ['e', [1]], ['d', [1]], ['c', [1]], ['b', [1]], ['a', [1]]]]
In [8]: my_ordered_dict
Out[8]:
OrderedDict[[['z', [1]],
['y', [1]],
['x', [1]],
['w', [1]],
['v', [1]],
['u', [1]],
['t', [1]],
['s', [1]],
['r', [1]],
['q', [1]],
['p', [1]],
['o', [1]],
['n', [1]],
['m', [1]],
['l', [1]],
['k', [1]],
['j', [1]],
['i', [1]],
['h', [1]],
['g', [1]],
['f', [1]],
['e', [1]],
['d', [1]],
['c', [1]],
['b', [1]],
['a', [1]]]]
5In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
Ở đây có vẻ như
In [5]: from collections import OrderedDict
In [6]: my_ordered_dict = OrderedDict[[[letter, [1]] for letter in ascii_lowercase[::-1]]]
In [7]: print[my_ordered_dict]
OrderedDict[[['z', [1]], ['y', [1]], ['x', [1]], ['w', [1]], ['v', [1]], ['u', [1]], ['t', [1]], ['s', [1]], ['r', [1]], ['q', [1]], ['p', [1]], ['o', [1]], ['n', [1]], ['m', [1]], ['l', [1]], ['k', [1]], ['j', [1]], ['i', [1]], ['h', [1]], ['g', [1]], ['f', [1]], ['e', [1]], ['d', [1]], ['c', [1]], ['b', [1]], ['a', [1]]]]
In [8]: my_ordered_dict
Out[8]:
OrderedDict[[['z', [1]],
['y', [1]],
['x', [1]],
['w', [1]],
['v', [1]],
['u', [1]],
['t', [1]],
['s', [1]],
['r', [1]],
['q', [1]],
['p', [1]],
['o', [1]],
['n', [1]],
['m', [1]],
['l', [1]],
['k', [1]],
['j', [1]],
['i', [1]],
['h', [1]],
['g', [1]],
['f', [1]],
['e', [1]],
['d', [1]],
['c', [1]],
['b', [1]],
['a', [1]]]]
6 trên thực tế không duy trì trật tự một cách nhất quán. Tuy nhiên, điều đang thực sự xảy ra là nhân In [5]: from collections import OrderedDict
In [6]: my_ordered_dict = OrderedDict[[[letter, [1]] for letter in ascii_lowercase[::-1]]]
In [7]: print[my_ordered_dict]
OrderedDict[[['z', [1]], ['y', [1]], ['x', [1]], ['w', [1]], ['v', [1]], ['u', [1]], ['t', [1]], ['s', [1]], ['r', [1]], ['q', [1]], ['p', [1]], ['o', [1]], ['n', [1]], ['m', [1]], ['l', [1]], ['k', [1]], ['j', [1]], ['i', [1]], ['h', [1]], ['g', [1]], ['f', [1]], ['e', [1]], ['d', [1]], ['c', [1]], ['b', [1]], ['a', [1]]]]
In [8]: my_ordered_dict
Out[8]:
OrderedDict[[['z', [1]],
['y', [1]],
['x', [1]],
['w', [1]],
['v', [1]],
['u', [1]],
['t', [1]],
['s', [1]],
['r', [1]],
['q', [1]],
['p', [1]],
['o', [1]],
['n', [1]],
['m', [1]],
['l', [1]],
['k', [1]],
['j', [1]],
['i', [1]],
['h', [1]],
['g', [1]],
['f', [1]],
['e', [1]],
['d', [1]],
['c', [1]],
['b', [1]],
['a', [1]]]]
5 sắp xếp các khóa từ điển để hiển thị khi từ điển được đánh giá. Nó giả định rằng thứ tự của các mục trong một đối tượng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 là không đáng kể. Ngược lại, nó không sắp xếp các phím trong một In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6In [5]: from collections import OrderedDict
In [6]: my_ordered_dict = OrderedDict[[[letter, [1]] for letter in ascii_lowercase[::-1]]]
In [7]: print[my_ordered_dict]
OrderedDict[[['z', [1]], ['y', [1]], ['x', [1]], ['w', [1]], ['v', [1]], ['u', [1]], ['t', [1]], ['s', [1]], ['r', [1]], ['q', [1]], ['p', [1]], ['o', [1]], ['n', [1]], ['m', [1]], ['l', [1]], ['k', [1]], ['j', [1]], ['i', [1]], ['h', [1]], ['g', [1]], ['f', [1]], ['e', [1]], ['d', [1]], ['c', [1]], ['b', [1]], ['a', [1]]]]
In [8]: my_ordered_dict
Out[8]:
OrderedDict[[['z', [1]],
['y', [1]],
['x', [1]],
['w', [1]],
['v', [1]],
['u', [1]],
['t', [1]],
['s', [1]],
['r', [1]],
['q', [1]],
['p', [1]],
['o', [1]],
['n', [1]],
['m', [1]],
['l', [1]],
['k', [1]],
['j', [1]],
['i', [1]],
['h', [1]],
['g', [1]],
['f', [1]],
['e', [1]],
['d', [1]],
['c', [1]],
['b', [1]],
['a', [1]]]]
[Phần liên quan của mã
In [5]: from collections import OrderedDict
In [6]: my_ordered_dict = OrderedDict[[[letter, [1]] for letter in ascii_lowercase[::-1]]]
In [7]: print[my_ordered_dict]
OrderedDict[[['z', [1]], ['y', [1]], ['x', [1]], ['w', [1]], ['v', [1]], ['u', [1]], ['t', [1]], ['s', [1]], ['r', [1]], ['q', [1]], ['p', [1]], ['o', [1]], ['n', [1]], ['m', [1]], ['l', [1]], ['k', [1]], ['j', [1]], ['i', [1]], ['h', [1]], ['g', [1]], ['f', [1]], ['e', [1]], ['d', [1]], ['c', [1]], ['b', [1]], ['a', [1]]]]
In [8]: my_ordered_dict
Out[8]:
OrderedDict[[['z', [1]],
['y', [1]],
['x', [1]],
['w', [1]],
['v', [1]],
['u', [1]],
['t', [1]],
['s', [1]],
['r', [1]],
['q', [1]],
['p', [1]],
['o', [1]],
['n', [1]],
['m', [1]],
['l', [1]],
['k', [1]],
['j', [1]],
['i', [1]],
['h', [1]],
['g', [1]],
['f', [1]],
['e', [1]],
['d', [1]],
['c', [1]],
['b', [1]],
['a', [1]]]]
5 nằm trong hàm _dict_pprinter_factory của nó. ]Gấu trúc cho rằng thứ tự ________ 18 không thành vấn đềCập nhật.
In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
2 [phát hành ngày 15 tháng 5 năm 2018] tôn trọng thứ tự khi khởi tạo một In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
3 hoặc một In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
4 với một In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 trong Python 3. 6+In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
6 cũng giả định rằng thứ tự của các mục trong một đối tượng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 là không đáng kể. Nếu bạn khởi tạo một In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
3 với một In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8, nó sẽ sắp xếp các mục theo khóaIn [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
Nó không sắp xếp các cột nếu bạn sử dụng một
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
2[Đoạn liên quan của mã
In [9]: import pandas as pd
In [10]: pd.DataFrame[my_dict]
Out[10]:
a b c d e f g h i j .. q r s t u v w x y z
0 1 1 1 1 1 1 1 1 1 1 .. 1 1 1 1 1 1 1 1 1 1
[1 rows x 26 columns]
6 nằm trong phương thức _init_dict của lớp DataFrame. ]Việc thêm đảm bảo có thể nguy hiểm như thế nàoNhững ví dụ này minh họa một hiện tượng đáng ngạc nhiên. thêm một đảm bảo có thể nguy hiểm. Người dùng không thể dựa vào sự đảm bảo đó cho đến khi sự tồn tại của nó trở thành kiến thức phổ biến và ý nghĩa của kiến thức phổ biến đó lan truyền khắp cộng đồng và vào cơ sở hạ tầng có liên quan
Quá trình này sẽ mất nhiều thời gian đặc biệt trong trường hợp bảo đảm đặt hàng của Python
In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
8 vì Python 2 kế thừa. 7 tiếp tục được sử dụng rộng rãi và do nhiều gói nguồn mở không được bảo trì tốt. Do đó, tôi hy vọng rằng việc sử dụng In [1]: from string import ascii_lowercase
In [2]: my_dict = {letter: [1] for letter in ascii_lowercase[::-1]}
In [3]: print[my_dict]
{'z': [1], 'y': [1], 'x': [1], 'w': [1], 'v': [1], 'u': [1], 't': [1], 's': [1], 'r': [1], 'q': [1], 'p': [1], 'o': [1], 'n': [1], 'm': [1], 'l': [1], 'k': [1], 'j': [1], 'i': [1], 'h': [1], 'g': [1], 'f': [1], 'e': [1], 'd': [1], 'c': [1], 'b': [1], 'a': [1]}
In [4]: my_dict
Out[4]:
{'a': [1],
'b': [1],
'c': [1],
'd': [1],
'e': [1],
'f': [1],
'g': [1],
'h': [1],
'i': [1],
'j': [1],
'k': [1],
'l': [1],
'm': [1],
'n': [1],
'o': [1],
'p': [1],
'q': [1],
'r': [1],
's': [1],
't': [1],
'u': [1],
'v': [1],
'w': [1],
'x': [1],
'y': [1],
'z': [1]}
6 để truyền đạt ý định tới các nhà phát triển khác và thư viện bên thứ ba sẽ vẫn là phương pháp hay nhất trong vài năm