Hướng dẫn dùng dict fromkeys python



Hàm Dictionary fromkeys() trong Python được sử dụng để tạo một Dictionary mới từ dãy seq và value. Trong đó dãy seq tạo nên các key và tất cả các key chia sẻ các giá trị từ value. Trong trường hợp value không được cung cấp thì value của các key là None.


Nội dung chính

  • Cú pháp
  • Ví dụ 1: tạo một Dictionary từ một tập các keys
  • Ví dụ 2: tạo một Dictionary từ một tập các keys với value
  • Ví dụ 3: tạo một Dictionary từ một tập các keys với list đối tượng có thể thay đổi

Cú pháp

Cú pháp của fromkeys() trong Python:

dict.fromkeys(seq[, value]))

Tham số:

  • seq: Đây là danh sách các value mà sẽ được sử dụng cho key trong Dictionary.

  • value: Tham số này là tùy ý, nếu được cung cấp thì value sẽ được thiết lập theo tham số này.



Ví dụ 1: tạo một Dictionary từ một tập các keys

Ví dụ sau minh họa cách sử dụng của fromkeys() trong Python.

# keys nguyen am
keys = {'a', 'e', 'i', 'o', 'u' }
dict1 = dict.fromkeys(keys)
print(dict1)

Chạy chương trình Python trên sẽ cho kết quả:

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


Ví dụ 2: tạo một Dictionary từ một tập các keys với value

Ví dụ sau minh họa cách sử dụng của fromkeys() trong Python.

# keys nguyen am
keys = {'a', 'e', 'i', 'o', 'u' }
value = 'nguyen am'
dict1 = dict.fromkeys(keys, value)
print(dict1)

Chạy chương trình Python trên sẽ cho kết quả:

{'u': 'nguyen am', 'e': 'nguyen am', 'a': 'nguyen am', 'o': 'nguyen am', 'i': 'nguyen am'}



Ví dụ 3: tạo một Dictionary từ một tập các keys với list đối tượng có thể thay đổi

Ví dụ sau minh họa cách sử dụng của fromkeys() trong Python.

# keys nguyen am
keys = {'a', 'e', 'i', 'o', 'u' }
value = [1]

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

value.append(2)
print(dict1)

Chạy chương trình Python trên sẽ cho kết quả:

{'i': [1], 'o': [1], 'e': [1], 'u': [1], 'a': [1]}
{'i': [1, 2], 'o': [1, 2], 'e': [1, 2], 'u': [1, 2], 'a': [1, 2]}



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.

Hướng dẫn dùng dict fromkeys python

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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().

Bài viết này được đăng tại [free tuts .net]

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.