Hướng dẫn key, value in dictionary python - khóa, giá trị trong python từ điển

Dict Băm bảng

Cấu trúc bảng băm/giá trị hiệu quả của Python được gọi là "Dict". Nội dung của một dict có thể được viết dưới dạng một loạt các cặp khóa: giá trị trong niềng răng {}, ví dụ: dict = {key1: value1, key2: value2, ...}. "Dict trống" chỉ là một cặp trống của niềng răng xoăn {}.

Nhìn lên hoặc đặt giá trị trong một Dict sử dụng dấu ngoặc vuông, ví dụ: Dict ['foo'] tìm kiếm giá trị dưới khóa 'foo'. Chuỗi, số và bộ dữ liệu hoạt động như các phím, và bất kỳ loại nào cũng có thể là một giá trị. Các loại khác có thể hoặc không hoạt động chính xác như các phím [chuỗi và bộ dữ liệu hoạt động sạch sẽ vì chúng là bất biến]. Nhìn lên một giá trị không có trong Dict ném KeyError - sử dụng "trong" để kiểm tra xem khóa có nằm trong Dict hay sử dụng Dict.get [Key] trả về giá trị hay không nếu không có khóa [ hoặc nhận [khóa, không tìm thấy] cho phép bạn chỉ định giá trị nào để trả về trong trường hợp không được tìm thấy].

  ## Can build up a dict by starting with the the empty dict {}
  ## and storing key/value pairs into the dict like this:
  ## dict[key] = value-for-that-key
  dict = {}
  dict['a'] = 'alpha'
  dict['g'] = 'gamma'
  dict['o'] = 'omega'

  print[dict] ## {'a': 'alpha', 'o': 'omega', 'g': 'gamma'}

  print[dict['a']]     ## Simple lookup, returns 'alpha'
  dict['a'] = 6       ## Put new key/value into dict
  'a' in dict         ## True
  ## print[dict['z']]                  ## Throws KeyError
  if 'z' in dict: print[dict['z']]     ## Avoid KeyError
  print[dict.get['z']]  ## None [instead of KeyError]

A cho vòng lặp trên một từ điển lặp lại trên các khóa của nó theo mặc định. Các phím sẽ xuất hiện theo thứ tự tùy ý. Các phương thức Dict.Keys [] và Dict.values ​​[] Danh sách trả về của các khóa hoặc giá trị rõ ràng. Ngoài ra còn có một mục [] trả về danh sách các bộ đếm [khóa, giá trị], đây là cách hiệu quả nhất để kiểm tra tất cả dữ liệu giá trị chính trong từ điển. Tất cả các danh sách này có thể được chuyển đến hàm Sắp xếp [].

  ## By default, iterating over a dict iterates over its keys.
  ## Note that the keys are in a random order.
  for key in dict: print[key]
  ## prints a g o
  
  ## Exactly the same as above
  for key in dict.keys[]: print[key]

  ## Get the .keys[] list:
  print[dict.keys[]]  ## dict_keys[['a', 'o', 'g']]

  ## Likewise, there's a .values[] list of values
  print[dict.values[]]  ## dict_values[['alpha', 'omega', 'gamma']]

  ## Common case -- loop over the keys in sorted order,
  ## accessing each key/value
  for key in sorted[dict.keys[]]:
    print[key, dict[key]]
  
  ## .items[] is the dict expressed as [key, value] tuples
  print[dict.items[]]  ##  dict_items[[['a', 'alpha'], ['o', 'omega'], ['g', 'gamma']]]

  ## This loop syntax accesses the whole dict by looping
  ## over the .items[] tuple list, accessing one [key, value]
  ## pair on each iteration.
  for k, v in dict.items[]: print[k, '>', v]
  ## a > alpha    o > omega     g > gamma

Chiến lược Lưu ý: Từ quan điểm hiệu suất, từ điển là một trong những công cụ tuyệt vời nhất của bạn và bạn nên sử dụng nó ở nơi bạn có thể là một cách dễ dàng để sắp xếp dữ liệu. Ví dụ: bạn có thể đọc một tệp nhật ký nơi mỗi dòng bắt đầu bằng một địa chỉ IP và lưu trữ dữ liệu vào một dict bằng địa chỉ IP làm khóa và danh sách các dòng nơi nó xuất hiện dưới dạng giá trị. Khi bạn đã đọc trong toàn bộ tệp, bạn có thể tra cứu bất kỳ địa chỉ IP nào và ngay lập tức thấy danh sách các dòng của nó. Từ điển lấy dữ liệu rải rác và biến nó thành một thứ gì đó mạch lạc.

Định dạng định dạng

Toán tử % hoạt động thuận tiện để thay thế các giá trị từ một lệnh thành một chuỗi theo tên:

  h = {}
  h['word'] = 'garfield'
  h['count'] = 42
  s = 'I want %[count]d copies of %[word]s' % h  # %d for int, %s for string
  # 'I want 42 copies of garfield'

  # You can also use str.format[].
  s = 'I want {count:d} copies of {word}'.format[h]

Del

Toán tử "DEL" không xóa. Trong trường hợp đơn giản nhất, nó có thể loại bỏ định nghĩa của một biến, như thể biến đó chưa được xác định. DEL cũng có thể được sử dụng trên các yếu tố hoặc lát cắt danh sách để xóa phần đó của danh sách và để xóa các mục từ từ điển.

  var = 6
  del var  # var no more!
  
  list = ['a', 'b', 'c', 'd']
  del list[0]     ## Delete first element
  del list[-2:]   ## Delete last two elements
  print[list]      ## ['b']

  dict = {'a':1, 'b':2, 'c':3}
  del dict['b']   ## Delete 'b' entry
  print[dict]      ## {'a':1, 'c':3}

Các tập tin

Hàm Open [] mở và trả về một tay cầm tệp có thể được sử dụng để đọc hoặc ghi một tệp theo cách thông thường. Mã f = open ['name', 'r'] sẽ mở tệp vào biến F, sẵn sàng để đọc các thao tác và sử dụng f.close [] khi hoàn thành. Thay vì 'r', hãy sử dụng 'W' để viết và 'A' để nối thêm. Tiêu chuẩn for-loop hoạt động cho các tệp văn bản, lặp qua các dòng của tệp [điều này chỉ hoạt động cho các tệp văn bản, không phải tệp nhị phân]. Kỹ thuật for-loop là một cách đơn giản và hiệu quả để xem tất cả các dòng trong một tệp văn bản:

  # Echo the contents of a text file
  f = open['foo.txt', 'rt', encoding='utf-8']
  for line in f:   ## iterates over the lines of the file
    print[line, end='']    ## end='' so print does not add an end-of-line char
                           ## since 'line' already includes the end-of-line.
  f.close[]

Đọc một dòng tại một thời điểm có chất lượng tốt mà không phải tất cả các tệp cần phải phù hợp với bộ nhớ cùng một lúc - tiện dụng nếu bạn muốn nhìn vào mọi dòng trong tệp 10 gigabyte mà không cần sử dụng 10 gigabyte bộ nhớ. Phương thức f.ReadLines [] đọc toàn bộ tệp vào bộ nhớ và trả về nội dung của nó dưới dạng danh sách các dòng của nó. Phương thức F.Read [] đọc toàn bộ tệp thành một chuỗi, có thể là một cách tiện dụng để đối phó với văn bản cùng một lúc, chẳng hạn như với các biểu thức thông thường mà chúng ta sẽ thấy sau.

Để viết, phương thức F.Write [Chuỗi] là cách dễ nhất để ghi dữ liệu vào một tệp đầu ra mở. Hoặc bạn có thể sử dụng "In" với một tệp mở như "in [chuỗi, file = f]".

Tập tin Unicode

Để đọc và ghi các tệp được mã hóa Unicode, hãy sử dụng chế độ `'t'` và chỉ định rõ ràng một mã hóa:

with open['foo.txt', 'rt', encoding='utf-8'] as f:
  for line in f:
    # here line is a *unicode* string
  
with open['write_test', encoding='utf-8', mode='wt'] as f:
    f.write['\u20ACunicode\u20AC\n'] #  €unicode€
    # AKA print['\u20ACunicode\u20AC', file=f]  ## which auto-adds end='\n'

Tập thể dục phát triển gia tăng

Xây dựng một chương trình Python, đừng viết toàn bộ trong một bước. Thay vào đó, hãy xác định chỉ là một cột mốc đầu tiên, ví dụ: "Vâng, bước đầu tiên là trích xuất danh sách các từ." Viết mã để đạt được cột mốc đó và chỉ in các cấu trúc dữ liệu của bạn vào thời điểm đó và sau đó bạn có thể thực hiện một sys.exit [0] để chương trình không chạy trước các phần không được thực hiện. Khi mã cột mốc đang hoạt động, bạn có thể làm việc trên mã cho cột mốc tiếp theo. Có thể nhìn vào bản in của các biến của bạn ở một trạng thái có thể giúp bạn suy nghĩ về cách bạn cần chuyển đổi các biến đó để đến trạng thái tiếp theo. Python rất nhanh với mô hình này, cho phép bạn thực hiện một chút thay đổi và chạy chương trình để xem nó hoạt động như thế nào. Tận dụng bước ngoặt nhanh đó để xây dựng chương trình của bạn theo các bước nhỏ.

Bài tập: WordCount.py

Kết hợp tất cả các tài liệu Python cơ bản - chuỗi, danh sách, dicts, bộ dữ liệu, tệp - hãy thử bài tập tóm tắt WordCount.py trong các bài tập cơ bản.wordcount.py exercise in the Basic Exercises.

Làm thế nào để bạn nhận được một giá trị từ một python khóa từ điển?

Trong Python, bạn có thể nhận được giá trị từ một từ điển bằng cách chỉ định khóa như Dict [Key]. Trong trường hợp này, KeyError được nâng lên nếu khóa không tồn tại. Lưu ý rằng không có vấn đề gì khi chỉ định khóa không tồn tại nếu bạn muốn thêm một phần tử mới.by specifying the key like dict[key] . In this case, KeyError is raised if the key does not exist. Note that it is no problem to specify a non-existent key if you want to add a new element.

Làm thế nào để bạn truy cập khóa

Hãy thảo luận về các cách khác nhau để truy cập tất cả các khóa cùng với các giá trị của chúng trong từ điển Python ...
Phương pháp số 1: Sử dụng toán tử ..
Phương pháp số 2: Sử dụng danh sách hiểu ..
Phương pháp số 3: Sử dụng dict.items [].
Phương pháp số 4: Sử dụng Enumerate [].

Chìa khóa trong từ điển Python là gì?

Định nghĩa và sử dụng Phương thức Phương thức [] Trả về đối tượng Chế độ xem.Đối tượng xem chứa các khóa của từ điển, như một danh sách.Đối tượng xem sẽ phản ánh bất kỳ thay đổi nào được thực hiện cho từ điển, xem ví dụ bên dưới.The keys[] method returns a view object. The view object contains the keys of the dictionary, as a list. The view object will reflect any changes done to the dictionary, see example below.

Là khóa từ điển

Từ điển Python là một tập hợp các cặp giá trị khóa trong đó mỗi khóa được liên kết với một giá trị.Một giá trị trong cặp giá trị khóa có thể là một số, chuỗi, danh sách, một tuple hoặc thậm chí từ điển khác.Trên thực tế, bạn có thể sử dụng giá trị của bất kỳ loại hợp lệ nào trong Python làm giá trị trong cặp giá trị khóa.. A value in the key-value pair can be a number, a string, a list, a tuple, or even another dictionary. In fact, you can use a value of any valid type in Python as the value in the key-value pair.

Bài Viết Liên Quan

Chủ Đề