Hàm Dictionary fromkeys() trong Python

Phương thức fromkeys() dùng để tạo ra một dictionary mới dựa vào bộ key được cung cấp bởi người dùng fromkeys() rất hữu ích trong trường hợp bạn muốn tạo ra một dictionary khi đã có danh sách các key và giá trị sẵn.

1. Cú pháp fromkeys()

Cú pháp như sau:

dictionary.fromkeys(sequence[, value])

Trong đó:

  • sequence là danh sách các key.
  • value là giá trị gắn cho các key đó, tham số này la tùy biến, nếu bạn không truyền vào thì nó sẽ lấy giá trị mặc định là None.
Ví dụ
keys = {'f', 'r', 'e', 'e', 't', 'u', 't', 's' }

vowels = dict.fromkeys(keys)
print(vowels)
Kết quả
{'f': None, 's': None, 'e': None, 't': None, 'u': None, 'r': None}

2. Một số ví dụ với phương thức fromkeys()

Sau đây là một vài ví dụ sử dụng phương thức dictionary fromkeys().

Tạo một dictionary từ set keys

Ví dụ này có phần giống với ví dụ mà mình đã trình bày ở phần 1, tức là không truyền value nên các phần tử của dictionary sẽ có giá trị là None.

# vowels keys
keys = {'a', 'e', 'i', 'o', 'u' }

vowels = dict.fromkeys(keys)
print(vowels)

Chạy lên kết quả sẽ như sau:

{'a': None, 'u': None, 'o': None, 'e': None, 'i': None}

Vì chúng ta không truyền value nên cá phần tử sẽ có giá trị là None.

Tạo một dictionary từ set keys và có truyền value

Ví dụ này mình sẽ truyền giá trị cho mỗi phần tử là vowel.

# vowels keys
keys = {'a', 'e', 'i', 'o', 'u' }
value = 'vowel'

vowels = dict.fromkeys(keys, value)
print(vowels)

Kết quả như sau:

{'a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel'}

Tạo một dictionary với giá trị là object list

# 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)

Kết quả như sau:

{'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 bạn để ý kỹ thì thấy mặc dù mình update value nhưng nó vẫn sẽ thay đổi luôn trong các phần tử của vowels.

Trên là một vài cách sử dụng phương thức dictionary fromkeys() trong python.

Nguồn: freetuts.net