Hướng dẫn split key-value pairs python - tách cặp khóa-giá trị python

So let's say i have a dictionary as:

d={'a-b':[1,2,3],'c-d':[4,5,6]}

And i want to split the keys, i.e 'a-b' into two keys as 'a' and 'b', and keep same value for both etc...

So desired output should be:

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}

I know i can do (Thanks to @Netwave):

d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}

But i don't think that's efficient,

So i am hoping one of you can give a better solution.

Nội dung chính ShowShow

  • Giới thiệu về Dictionary trong Python
  • Hướng dẫn tạo và sử dụng Dictionary
  • 1. Khai báo và khởi tạo Dictionary
  • 2. Cập nhật và Xóa phần tử trong Dictionary
  • 3. Duyệt qua danh sách phần tử trong Dictionary
  • Tổng kết

Giới thiệu về Dictionary trong Python

Hướng dẫn tạo và sử dụng Dictionarylà một danh sách có chứa một tập hợp các phần tử, mỗi phần tử của dictionary được thể hiện dưới dạng một cặp key : value.

1. Khai báo và khởi tạo Dictionary

2. Cập nhật và Xóa phần tử trong DictionaryHashMap trong Java, hoặc mảng kết hợp trong PHP, được sử dụng khi ta muốn quản lý một tập hợp các cặp key : value.

  • Dictionary là một danh sách có chứa một tập hợp các phần tử, mỗi phần tử của dictionary được thể hiện dưới dạng một cặp key : value.key : value trong dictionary còn được gọi là một item
  • Mỗi key trong dictionary được kết hợp với một value.
  • Dictionary cũng tương tự với HashMap trong Java, hoặc mảng kết hợp trong PHP, được sử dụng khi ta muốn quản lý một tập hợp các cặp key : value.
  • Một cặp key : value trong dictionary còn được gọi là một item
  • Mỗi key được phân tách với value tương ứng bằng một dấu hai chấm ( : )
  • Các item được phân tách bởi dấu phảy
    {'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
    
    0

Hướng dẫn tạo và sử dụng Dictionary

1. Khai báo và khởi tạo Dictionary

2. Cập nhật và Xóa phần tử trong Dictionary

Dictionary là một danh sách có chứa một tập hợp các phần tử, mỗi phần tử của dictionary được thể hiện dưới dạng một cặp key : value.

listfruits = { = {

    "orange":"Qua cam","orange":"Qua cam",

    "apple":"Qua tao","apple":"Qua tao",

    "durian":"Sau rieng","durian":"Sau rieng",

    "piniapple":"Qua dua""piniapple":"Qua dua"

}

#Truy cập đến một phần tử trong Dictionary

print(listfruits["durian"])(listfruits["durian"])

#In ra toàn bộ Dictionary

print(listfruits)  (listfruits)
 

Kết quả của chương trình được hiển thị như sau:

Cập nhật, Sửa, Xóa các thành phần trong Python

2. Cập nhật và Xóa phần tử trong Dictionary

Để cập nhật các item trong dictionary, hoặc cập nhật dictionary, ta có thể thêm một item mới vào dictionary, hoặc gán một value mới cho một key đã tồn tại.

Để xóa một item khỏi dictionary, ta có thể dùng lệnh 

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
3.xóa một item khỏi dictionary, ta có thể dùng lệnh 
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
3.

Để xóa toàn bộ nội dung của dictionary, ta có thể gọi hàm

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
4, hoặc có thể sử dụng lệnh del.xóa toàn bộ nội dung của dictionary, ta có thể gọi hàm
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
4
, hoặc có thể sử dụng lệnh del.

Ví dụ:

Trong ví dụ dưới đây, ta đã khai báo và khởi tạo một dictionary, sau đó ta in ra giá trị của phần tử có key là “

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
5”.

Sau đó ta in ra toàn bộ nội dung của dictionary.

Tiếp theo, ta cập nhật lại value của item có key là “

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
6”.

Sau đó xóa đi item có key là “

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
7”, cuối cùng ta in lại nội dung của dictionary sau khi đã cập nhật.

#Khai báo và Khởi tạo Dictionary

listfruits = { = {

    "orange":"Qua cam","orange":"Qua cam",

    "apple":"Qua tao","apple":"Qua tao",

    "durian":"Sau rieng","durian":"Sau rieng",

    "piniapple":"Qua dua""piniapple":"Qua dua"

}

#Truy cập đến một phần tử trong Dictionary

print(listfruits["durian"])(listfruits["durian"])

#In ra toàn bộ Dictionary

print(listfruits)(listfruits)

#Cập nhật một item trong Dictionary

listfruits["apple"] = "Steve Jobs"["apple"] = "Steve Jobs"

#Xóa một item trong Dictionary

del listfruit["pineapple"] listfruit["pineapple"]

#In ra Dictionary sau khi đã cập nhật

print(listfruits)  (listfruits)
 

Kết quả của chương trình được hiển thị như sau:

Cập nhật, Sửa, Xóa các thành phần trong Python

3. Duyệt qua danh sách phần tử trong Dictionary

Để duyệt qua danh sách các cặp key-value của dictionary, ta có thể sử dụng vòng lặp for trong Python.vòng lặp for trong Python.

Còn để xem số các phần tử trong dictionary, ta sử dụng

hàm
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
8.
.

Ngoài ra, để kiểm tra xem một key nào đó có tồn tại trong dictionary hay không, ta sử dụng toán tử

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
9, toán tử này sẽ trả về
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
0 hoặc
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
1.toán tử
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
9
, toán tử này sẽ trả về
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
0 hoặc
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
1.

Trong ví dụ dưới đây, ta đã khai báo và khởi tạo một dictionary, sau đó ta dùng vòng lặp for để duyệt qua các phần tử của dictionary.

Tiếp theo ta sử dụng toán tử in để kiểm tra xem một key có tồn tại trong dictionary hay không, và in ra tổng số phần tử trong dictionary.

listseafoods = { = {

    "grab":"Cua bien hap bia sa","grab":"Cua bien hap bia sa",

    "fish":"Ca song om dua", "fish":"Ca song om dua",

    "lobster":"Tom hum bo lo phomai","lobster":"Tom hum bo lo phomai",

    "oc":"Oc huong sot me", "oc":"Oc huong sot me",

    "shirmp":"Chao tom cang xanh","shirmp":"Chao tom cang xanh",

    "squid":"Muc ong xao can toi tay""squid":"Muc ong xao can toi tay"

}

#Truy cập đến một phần tử trong Dictionary

for key in listseafoods: key in listseafoods:

#In ra toàn bộ Dictionary(keylistseafoods[key])

#Cập nhật một item trong Dictionary

print("octopus" in listseafoods)("octopus" in listseafoods)

#Xóa một item trong Dictionary

print("lobster" in listseafoods)("lobster" in listseafoods)

#In ra Dictionary sau khi đã cập nhật

print(listfruits)  ("Size = " + str(len(listseafoods)))
 

Kết quả của chương trình được hiển thị như sau:

Cập nhật, Sửa, Xóa các thành phần trong Python

3. Duyệt qua danh sách phần tử trong Dictionary

Để duyệt qua danh sách các cặp key-value của dictionary, ta có thể sử dụng vòng lặp for trong Python.Dictionary trong Python, một số thao tác như khai báo, khởi tạo, cập nhật, sửa, xóa và duyệt qua Dictionary...

Còn để xem số các phần tử trong dictionary, ta sử dụng

hàm

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
8.học Python tốt!

Ngoài ra, để kiểm tra xem một key nào đó có tồn tại trong dictionary hay không, ta sử dụng toán tử

{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
9, toán tử này sẽ trả về
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
0 hoặc
d={'a-b':[1,2,3],'c-d':[4,5,6]}
newd={}
for k,v in d.items():
    x,y=k.split('-')
    newd[x]=v
    newd[y]=v
print(newd)
#{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [4, 5, 6], 'd': [4, 5, 6]}
1.