Từ điển Python từ khóa ()

Phương thức fromkeys () tạo một từ điển mới từ chuỗi các phần tử đã cho với giá trị do người dùng cung cấp.

Cú pháp của fromkeys()phương thức là:

 Dictionary.fromkeys (chuỗi (, giá trị))

fromkeys () Tham số

fromkeys() phương thức nhận hai tham số:

  • trình tự - chuỗi các phần tử được sử dụng làm khóa cho từ điển mới
  • value (Tùy chọn) - giá trị được đặt cho từng phần tử của từ điển

Trả về giá trị từ fromkeys ()

fromkeys() phương thức trả về một từ điển mới với chuỗi các phần tử đã cho làm khóa của từ điển.

Nếu đối số giá trị được đặt, mỗi phần tử của từ điển mới được tạo sẽ được đặt thành giá trị được cung cấp.

Ví dụ 1: Tạo từ điển từ một chuỗi khóa

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)

Đầu ra

 ('a': Không có, 'u': Không có, 'o': Không có, 'e': Không có, 'i': Không có) 

Ví dụ 2: Tạo từ điển từ một chuỗi khóa có giá trị

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)

Đầu ra

 ('a': 'nguyên âm', 'u': 'nguyên âm', 'o': 'nguyên âm', 'e': 'nguyên âm', 'i': 'nguyên âm') 

Ví dụ 3: Tạo từ điển từ danh sách đối tượng có thể thay đổi

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = dict.fromkeys(keys, value) print(vowels) # updating the value value.append(2) print(vowels)

Đầu ra

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1, 2 ), 'u': (1, 2), 'o': (1, 2), 'e': (1, 2), 'i': (1, 2)) 

Nếu giá trị là một đối tượng có thể thay đổi (có giá trị có thể được sửa đổi) như danh sách, từ điển, v.v., thì khi đối tượng có thể thay đổi được sửa đổi, mỗi phần tử của chuỗi cũng được cập nhật.

Điều này là do mỗi phần tử được gán một tham chiếu đến cùng một đối tượng (trỏ đến cùng một đối tượng trong bộ nhớ).

Để tránh vấn đề này, chúng tôi sử dụng cách hiểu từ điển.

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = ( key : list(value) for key in keys ) # you can also use ( key : value(:) for key in keys ) print(vowels) # updating the value value.append(2) print(vowels)

Đầu ra

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) 

Tại đây, đối với mỗi khóa trong các khóa, một danh sách mới từ giá trị được tạo và gán cho nó.

Về bản chất, giá trị không được gán cho phần tử nhưng một danh sách mới được tạo từ nó, sau đó được gán cho từng phần tử trong từ điển.

thú vị bài viết...