Menu
CoddyTech

Phương thức từ điển

Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 80 trên 92.

Từ điển có các phương thức cho bạn biết chúng chứa gì.

keys() trả về một mảng các khóa, còn values() trả về một mảng các giá trị, theo thứ tự của các cặp:

var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]

has() kiểm tra xem một khóa có tồn tại hay không. Toán tử in cũng thực hiện kiểm tra tương tự:

print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # true

size() trả về số lượng cặp, còn is_empty() kiểm tra xem có cặp nào không:

print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # true

has() và in chỉ kiểm tra các khóa, không bao giờ kiểm tra các giá trị: player.has("Mia") là false.

challenge icon

Thử thách

Dễ

Chương trình đọc hai dòng đầu vào: một danh sách các cặp được viết theo dạng key:value và phân tách bằng dấu phẩy, cùng một khóa cần kiểm tra. Đoạn code đã cho điền từ điển info từ dòng đầu tiên.

In ra theo thứ tự sau:

  1. Mỗi khóa trên một dòng
  2. ---
  3. Mỗi giá trị trên một dòng
  4. ---
  5. Số lượng cặp
  6. ---
  7. true hoặc false: từ điển có rỗng hay không
  8. ---
  9. true hoặc false: khóa từ đầu vào thứ hai có tồn tại hay không

Với đầu vào name:Mia,hp:100,class:Mage và hp, đầu ra là:

name
hp
class
---
Mia
100
Mage
---
3
---
false
---
true

Tự làm thử

extends Node

func _ready():
	var text := OS.read_string_from_stdin()
	var key := OS.read_string_from_stdin()

	var info := {}
	for pair in text.split(","):
		var parts := pair.split(":")
		info[parts[0]] = parts[1]

	# In ra các khóa (key), giá trị (value), kích thước, is_empty và has(key)
	# với --- ngăn cách các phần
	pass
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch GDScript online