Tạo từ điển với khóa và giá trị python

Có thể, và nó có một phương pháp thực hiện điều này, nhưng bạn không muốn sử dụng nó trực tiếp

Để giải thích cách sử dụng và cách không sử dụng nó, hãy tạo một lệnh trống với ký tự chính tả, {}

my_dict = {}

Thực hành tốt nhất 1. ký hiệu chỉ số

Để cập nhật lệnh này với một khóa và giá trị mới, bạn có thể sử dụng lệnh đó để gán mục

my_dict['new key'] = 'new value'

my_dict bây giờ là

{'new key': 'new value'}

Thực hành tốt nhất 2. Phương pháp my_dict['new key'] = 'new value' 0 - 2 cách

Chúng tôi cũng có thể cập nhật chính tả với nhiều giá trị một cách hiệu quả bằng cách sử dụng. Chúng tôi có thể tạo thêm một

my_dict['new key'] = 'new value'
2 ở đây một cách không cần thiết, vì vậy chúng tôi hy vọng rằng
my_dict['new key'] = 'new value'
2 của chúng tôi đã được tạo và đến từ hoặc được sử dụng cho mục đích khác

my_dict.update({'key 2': 'value 2', 'key 3': 'value 3'})

my_dict bây giờ là

{'key 2': 'value 2', 'key 3': 'value 3', 'new key': 'new value'}

Một cách hiệu quả khác để thực hiện việc này với phương thức cập nhật là sử dụng các đối số từ khóa, nhưng vì chúng phải là các từ python hợp pháp nên bạn không thể có dấu cách hoặc ký hiệu đặc biệt hoặc bắt đầu tên bằng một số, nhưng nhiều người coi đây là cách dễ đọc hơn

my_dict.update(foo='bar', foo2='baz')

my_dict bây giờ là

{'key 2': 'value 2', 'key 3': 'value 3', 'new key': 'new value', 
 'foo': 'bar', 'foo2': 'baz'}

Vì vậy, bây giờ chúng tôi đã đề cập đến ba cách Pythonic để cập nhật một

my_dict['new key'] = 'new value'
2


Có một cách khác để cập nhật

my_dict['new key'] = 'new value'
2 mà bạn không nên sử dụng, đó là sử dụng phương pháp
my_dict['new key'] = 'new value'
9. Dưới đây là ví dụ về cách một người có thể sử dụng phương pháp
my_dict['new key'] = 'new value'
9 để thêm cặp khóa-giá trị vào
my_dict['new key'] = 'new value'
2 và minh họa về hiệu suất kém của việc sử dụng phương pháp này

>>> d = {}
>>> d.__setitem__('foo', 'bar')
>>> d
{'foo': 'bar'}


>>> def f():
..     d = {}
..     for i in xrange(100):
..         d['foo'] = i
.. 
>>> def g():
..     d = {}
..     for i in xrange(100):
..         d.__setitem__('foo', i)
.. 
>>> import timeit
>>> number = 100
>>> min(timeit.repeat(f, number=number))
0.0020880699157714844
>>> min(timeit.repeat(g, number=number))
0.005071878433227539

Vì vậy, chúng tôi thấy rằng sử dụng ký hiệu chỉ số dưới thực sự nhanh hơn nhiều so với sử dụng

my_dict['new key'] = 'new value'
9. Thực hiện điều Pythonic, nghĩa là sử dụng ngôn ngữ theo cách nó được dự định sử dụng, thường dễ đọc hơn và hiệu quả hơn về mặt tính toán

Kể từ phiên bản Python 3. 7, từ điển được đặt hàng. Trong Trăn 3. 6 trở về trước, từ điển không có thứ tự

Từ điển được viết bằng dấu ngoặc nhọn và có các khóa và giá trị

Ví dụ

Tạo và in từ điển

điều này = {
"thương hiệu". "Ford",
"người mẫu". "Mustang",
"năm". 1964
}
in(thisdict)

Tự mình thử »


mục từ điển

Các mục từ điển được sắp xếp theo thứ tự, có thể thay đổi và không cho phép trùng lặp

Các mục từ điển được trình bày trong khóa. các cặp giá trị và có thể được gọi bằng cách sử dụng tên khóa

Ví dụ

In giá trị "thương hiệu" của từ điển

điều này = {
"thương hiệu". "Ford",
"người mẫu". "Mustang",
"năm". 1964
}
in(thisdict["nhãn hiệu"])

Tự mình thử »


Có thứ tự hay không có thứ tự?

Kể từ phiên bản Python 3. 7, từ điển được đặt hàng. Trong Trăn 3. 6 trở về trước, từ điển không có thứ tự

Khi chúng ta nói rằng từ điển được sắp xếp theo thứ tự, điều đó có nghĩa là các mục có thứ tự xác định và thứ tự đó sẽ không thay đổi

Không có thứ tự có nghĩa là các mục không có thứ tự xác định, bạn không thể tham chiếu đến một mục bằng cách sử dụng chỉ mục


có thể thay đổi

Từ điển có thể thay đổi, nghĩa là chúng ta có thể thay đổi, thêm bớt các mục sau khi tạo từ điển


Bản sao không được phép

Từ điển không thể có hai mục có cùng khóa

Ví dụ

Các giá trị trùng lặp sẽ ghi đè lên các giá trị hiện có

điều này = {
"thương hiệu". "Ford",
"người mẫu". "Mustang",
"năm". 1964,
"năm". 2020
}
in(thisdict)

Tự mình thử »



Độ dài từ điển

Để xác định một từ điển có bao nhiêu mục, hãy sử dụng hàm len()


Mục từ điển - Kiểu dữ liệu

Các giá trị trong các mục từ điển có thể thuộc bất kỳ loại dữ liệu nào

Ví dụ

Các kiểu dữ liệu chuỗi, int, boolean và danh sách

điều này = {
"thương hiệu". "Ford",
"điện". SAI,
"năm". 1964,
"màu sắc". ["đỏ", "trắng", "xanh"]
}

Tự mình thử »


kiểu()

Theo quan điểm của Python, từ điển được định nghĩa là các đối tượng có kiểu dữ liệu 'dict'

Ví dụ

In kiểu dữ liệu của từ điển

điều này = {
"thương hiệu". "Ford",
"người mẫu". "Mustang",
"năm". 1964
}
in (loại (thisdict))

Tự mình thử »


Trình tạo dict()

Cũng có thể sử dụng hàm tạo dict() để tạo từ điển

Ví dụ

Sử dụng phương thức dict() để tạo từ điển

thisdict = dict(tên = "John", tuổi = 36, quốc gia = "Na Uy")
in(thisdict)

Tự mình thử »


Bộ sưu tập Python (Mảng)

Có bốn kiểu dữ liệu tập hợp trong ngôn ngữ lập trình Python

  • Danh sách là một bộ sưu tập được sắp xếp theo thứ tự và có thể thay đổi. Cho phép các thành viên trùng lặp
  • Tuple là một bộ sưu tập được sắp xếp và không thể thay đổi. Cho phép các thành viên trùng lặp
  • Set là một bộ sưu tập không có thứ tự, không thể thay đổi* và không được lập chỉ mục. Không có thành viên trùng lặp
  • Từ điển là một bộ sưu tập được sắp xếp theo thứ tự ** và có thể thay đổi. Không có thành viên trùng lặp

*Các mục trong bộ không thể thay đổi, nhưng bạn có thể xóa và/hoặc thêm các mục bất cứ khi nào bạn muốn

** Kể từ phiên bản Python 3. 7, từ điển được đặt hàng. Trong Trăn 3. 6 trở về trước, từ điển không có thứ tự

Khi chọn một loại bộ sưu tập, sẽ rất hữu ích khi hiểu các thuộc tính của loại đó. Việc chọn đúng loại cho một tập dữ liệu cụ thể có thể đồng nghĩa với việc giữ nguyên ý nghĩa và, điều đó có thể đồng nghĩa với việc tăng hiệu quả hoặc tính bảo mật

Làm cách nào để chèn khóa và giá trị trong từ điển Python?

Để chèn khóa/giá trị mới vào Từ điển, hãy sử dụng dấu ngoặc vuông và toán tử gán . Cùng với đó, phương thức update() cũng có thể được sử dụng. Hãy nhớ rằng, nếu khóa đã có trong từ điển, giá trị của nó sẽ được cập nhật, nếu không, cặp mới sẽ được chèn vào.

Làm cách nào để tạo dict từ danh sách khóa và giá trị trong Python?

Để chuyển đổi danh sách thành từ điển sử dụng các giá trị giống nhau, bạn có thể sử dụng lệnh. phương thức fromkeys() . Để chuyển đổi hai danh sách thành một từ điển, bạn có thể sử dụng hàm zip() của Python. Khả năng hiểu từ điển cho phép bạn tạo một từ điển mới dựa trên các giá trị của danh sách.

Làm cách nào tôi có thể tạo một từ điển từ các danh sách khóa và giá trị riêng biệt?

Đối với điều này, chỉ cần khai báo một từ điển, sau đó chạy vòng lặp lồng nhau cho cả hai danh sách và gán các cặp khóa và giá trị từ các giá trị danh sách cho từ điển.