Thứ Ba, 16 tháng 5, 2017

Tuple, List và Dictionary trong Python

List
List là một kiểu dữ liệu rất phổ biến trong Python. Chúng ta có thể định nghĩa: Một list trong Python là một nhóm có thứ tự các đối tượng. Điều quan trọng cần phải nhấn mạnh là những đối tượng đó không cần phải là cùng loại. Nó có thể là một hỗn hợp tùy ý của các đối tượng như số, chuỗi hoặc có thể là một danh sách khác.
Dưới đây là một số thuộc tính của list:
  • List là một tập hợp có thứ tự.
  • Dữ liệu trong một list có thể thuộc nhiều kiểu khác nhau.
  • Các phần tử trong list có thể được truy xuất thông qua chỉ số của chúng.
  • Kích thước của một list có thể thay đổi.
  • Chúng ta có thể thay đổi một list, ví dụ như việc thêm mới, xóa hoặc cập nhật phần tử trong list.
Cú pháp để định nghĩa một list trong Python là rất đơn giản. Ví dụ bạn có 5 con mèo có tên lần lượt như sau: Tom, Snappy, Kitty, Jessie và Chester, để đưa chúng vào một list chúng ta có thể làm như sau:
cats = ['Tom', 'Snappy', 'Kitty', 'Jessie', 'Chester']
Chúng ta có thể truy xuất các phần tử của list thông qua chỉ số của chúng như sau:
print cats[2] # in ra phần tử có chỉ số là 2
// Kitty

print cats[-1] # in ra phần tử cuối cùng của list
// Chester

print cats[1:3] # in ra các phần tử có chỉ số từ 1 đến 3
//['Snappy', 'Kitty']
Vì list trong Python có thể thay đổi nên chúng ta có thể thêm mới, sửa hoặc xóa bỏ phần tử trong list:
print cats
['Tom', 'Snappy', 'Kitty', 'Jessie', 'Chester']

cats.append('Jerry') # thêm mới phần tử vào list
print cats
['Tom', 'Snappy', 'Kitty', 'Jessie', 'Chester', 'Jerry']

cats[-1] = 'Jerrt Cat' # gán lại giá trị cho phần tử cuối cùng của list
print cats
['Tom', 'Snappy', 'Kitty', 'Jessie', 'Chester', 'Jerrt Cat']

del cats[1] # xóa bỏ phần tử có số thứ tự 1 khỏi list
print cats
['Tom', 'Kitty', 'Jessie', 'Chester', 'Jerrt Cat']
Bảng dưới đây liệt kê các hàm dùng để làm việc với list:
  • cmp(list1, list2): So sánh phần tử của 2 list
  • len(list): Lấy số lượng phần tử trong list.
  • max(list): Trả về phần tử có giá trị lớn nhất trong list.
  • min(list): Trả về phần tử có giá trị nhỏ nhất trong list.
  • list.append(obj): Thêm một phần tử vào list.
  • list.count(obj): Đếm số lần xuất hiện của phần tử obj trong list
  • list1.extend(list2): Thêm tất cả các phần tử của list2 vào list1
  • list.index(obj): Trả về chỉ số bé nhất mà obj xuất hiện trong list
  • list.insert(index, obj): Thêm phần tử obj vào vị trí index trong list.
  • list.pop(index): Xoá và trả về phần tử có chỉ số index trong list.
  • list.remove(obj): Xóa phần tử trong list.
  • list.reverse(): Đảo ngược các phần tử trong list.
  • list.sort(): Sắp xếp các phần tử trong list.

Tuple

Một Tuple có thể được hiểu là một danh sách không thay đổi, điều này có nghĩa là bạn không thể thay đổi một tuple một khi nó đã được tạo ra. Một tuple được định nghĩa tương tự như list ngoại trừ việc tập hợp các phần tử được đặt trong dấu ngoặc đơn thay vì dấu ngoặc vuông như list, ngoài ra quy tắc về chỉ số phần tử của tuple cũng tương tự như list.
Vậy tại sao Python lại định nghĩa một kiểu dữ liệu tương tự như list? Dưới đây là các ưu điểm của tuple:
  • Tốc độ truy xuất, xử lí dữ liệu của tuple nhanh hơn so với list.
  • Trong lập trình, có những dữ liệu không được thay đổi, trong trường hợp đó bạn nên dùng tuple thay vì list, điều này sẽ đảm bảo được dữ liệu của bạn, chống lại những sự thay đổi ngẫu nhiên đối với dữ liệu đó.
Ví dụ dưới đây sẽ giới thiệu cách định nghĩa, truy xuất phần tử của tuple và việc chương trình sẽ thông báo lỗi khi chúng ta cố gắng thay đổi tuple.
t = (‘tuples’,  are’, immutable’) # định nghĩa một tuple
print t[0] # truy xuất phần tử của tuple thông qua chỉ số của phần tử
tuple
t[0] = new value  # thay đổi tuple 

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    demo[0] = 'b'
TypeError: 'tuple' object does not support item assignment
Bảng dưới đây liệt kệ các hàm dùng để làm việc với list:
  • cmp(tuple1, tuple2): So sánh phần tử của 2 tuple
  • len(tuple): Lấy số lượng phần tử trong tuple.
  • max(tuple): Trả về phần tử có giá trị lớn nhất trong tuple.
  • min(tuple): Trả về phần tử có giá trị nhỏ nhất trong tuple.
  • tuple(list): Chuyển một list sang tuple.

Dictionary

Một Dictionary trong Python có thể được hiểu là một tập các cặp key-value. Một Dictionary có thể được định nghĩa như sau:
dict = {‘Alice’ : ‘123’, ‘Tom’ : ‘456’, ‘Tim’ : ‘789’ }
Bạn cũng có thể tạo một dictionary như sau:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
Mỗi key được phân cách với giá trị của nó bằng dấu hai chấm (:), các phần tử trong ditionary được phân cách bằng dấu phẩy. Một dictionary rỗng, không chứa bất kì phần tử nào được định nghĩa bằng hai dấu ngoặc nhọn như sau: {}.
Key trong dictionary phải là duy nhất nhưng điều này không cần thiết với các value, nghĩa là trong một dictionary có thể có nhiều key có cùng một value. Các value trong dictionary có thể thuộc bất kì một kiểu nào còn các key thì chỉ được cố định trong một số kiểu như: string, number hoặc tuple.
Dictionary không dùng chỉ số của các phần tử để truy xuất dữ liệu, thay vào đó, chúng ta có thể truy xuất dữ liệu thông qua key như ví dụ sau:
dict1 = {‘Name : Zyra’, Age : 7, Class : A5’} # định nghĩa 1 dictionary
print dict[‘Name’] # lấy giá trị có key = ‘Name’
Zyra
print dict[‘Age’] # lấy giá trị có key = ‘Age’
7
Chúng ta có thể chỉnh sửa một Dictionary như việc thêm mới, xóa, hoặc chỉnh sửa phần tử như ví dụ dưới đây:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8 # cập nhật một phần tử trong dict
dict['School'] = "DPS School"  # thêm mới một phần tử vào dict
print dict['Age']
// 8
print  dict['School']
// DPS School
Dưới đây là danh sách các hàm để làm việc với Dictionary trong Python:
  • cmp(dict1, dict2): So sánh phần tử của 2 dict
  • len(dict): Lấy số lượng phần tử trong dict.
  • str(dict): Tạo ra một chuỗi có thể in được của dict
  • type(variable): Trả về kiểu của biến được truyền vào, nếu biến được truyền vào là kiểu dictionary hàm sẽ trả về kiểu dictionary.
  • dict.clear(): Xóa tất cả các phần tử của dict
  • dict.copy(): Trả về một bản sao của dict
  • dict.get(key, default=None): Trả về giá trị tương ứng với key hoặc trả về giá trị default nếu key không tồn tại trong dict
  • dict.has_key(key): Trả về true nếu key tồn tại trong dict, ngược lại trả về false.
  • dict.items(): Trả về một list các cặp key/value của dict.
  • dict.keys(): Trả về một list các key của dict
  • dict.setdefault(key, default=None): Hàm này gần giống với hàm get() nhưng sẽ gán dict[key]=default nếu key chưa tồn tại trong dict.
  • dict1.update(dict2): Thêm các phần tử của dict2 và dict1.
  • dict.values(): Trả về danh sách value của dict dưới dạng một list.

Nguồn: Fsd14

Không có nhận xét nào:

Đăng nhận xét