![[IMG]](http://i845.photobucket.com/albums/ab19/Thu_KMA/Python/Basic-Python-Tutorial_zps55123ecc.jpg)
Hôm nay chúng ta sẽ cùng nhau đi tìm hiểu kĩ hơn 1 số kiểu dữ liệu trong Python, các phương thức của kiểu dữ liệu đó. Bài này, mình sử dụng shell Python để ví dụ nhé. Nào, chúng ta cùng vào bài học ngay bây h nhé.
1. Danh sách
Python có một số kiểu dữ liệu gộp, dùng để nhóm các giá trị với nhau. Kiểu linh hoạt nhất là danh sách (list), có thể được viết như là một danh sách các giá trị phân cách bởi dấu phẩy ở giữa ngoặc vuông.
Code:
a = ['ga', 'vit', 12, 1234]
Code:
>>> a[0] 'ga' >>>a[3] 1234
Code:
>>> a[1:-1] #Cat nho ['vit', 12] >>> a[:2] + ['cho', 2*2] #Gop danh sach ['ga', 'vit', 'cho', 4] >>> 3*a[:3] + ['Boo!'] ['ga', 'vit', 12, 'ga', 'vit', 12, 'ga', 'vit', 12, 'Boo!']
Code:
>>> a ['ga', 'vit', 12, 1234] >>> a[2] = a[2] + 111 # 12 + 111 >>> a ['ga', 'vit', 123, 1234]
Code:
>>> # Thay the 1 vai muc: ... a[0:2] = [1, 12] >>> a [1, 12, 123, 1234] >>> # Xoa bo 1 vai muc: ... a[0:2] = [] >>> a [123, 1234] >>> # Chen them vao ds: ... a[1:1] = ['abc', 'abcd'] >>> a [123, 'abc', 'abcd', 1234] >>> # Nhan ban phan tu cua danh sach: >>> a[:0] = a >>> a [123, 'abc', 'abcd', 1234, 123, 'abc', 'abcd', 1234] >>> # Xoa bo cac phan tu cua danh sach (thay the cac phan tu do bang phan tu trong) >>> a[:] = [] >>> a []
Code:
>>> q = [2, 3] >>> p = [1, q, 4] >>> len(p) 3 >>> p[1] [2, 3] >>> p[1][0] 2 >>> p[1].append('abc') #Xem o phan sau >>> p [1, [2, 3, 'abc'], 4] >>> q [2, 3, 'abc']
append( x)
Thêm một phần tử vào cuối danh sách; tương đương với a[len(a):] = [x].
extend( L)
Nới rộng danh sách bằng cách chèn vào tất cả các phần tử của danh sách chỉ định; tương đương với a[len(a):] = L.
insert( i, x)
Chèn một phần tử vào vị trí chỉ định. Thông số đầu là chỉ mục của phần tử sẽ bị đẩy lùi, cho nên a.insert(0, x) chèn vào đầu danh sách, và a.insert(len(a), x) tương đương với a.append(x).
remove( x)
Bỏ ra khỏi danh sách phần tử đầu tiên có giá trị là x. Sẽ có lỗi nếu không có phần tử như vậy.
pop( [a ])
Bỏ khỏi danh sách phần tử ở vị trí chỉ định, và trả về chính nó. Nếu không chỉ định vị trí, a.pop() bỏ và trả về phần tử cuối trong danh sách. (Ngoặc vuông xung quanh a trong khai báo hàm cho biết thông số đó là không bắt buộc, không có nghĩa là bạn cần gõ dấu ngoặc vuông ở vị trí đó.
index( x)
Trả về chỉ mục của phần tử trong danh sách mà có giá trị là x. Sẽ có lỗi nếu không có phần tử như vậy.
count( x)
Trả về số lần x xuất hiện trong danh sách.
sort( )
Sắp xếp các phần tử trong danh sách, ngay tại chỗ.
reverse( )
Đảo ngược thứ tự các phần tử trong danh sách, ngay tại chỗ.
Ví dụ:
Code:
>>> a = [22.25, 111, 111, 1, 1234.5] >>> print a.count(111), a.count(22.25), a.count('x') 2 1 0 >>> a.insert(2, -1) >>> a.append(111) #Chen vao 111 o cuoi danh sach >>> a [22.25, 111, -1, 111, 1, 1234.5, 111] >>> a.index(111) #Xem chi muc cua 111 1 >>> a.remove(111) #Xoa bo phan tu mang gia tri 111 dau tien >>> a [22.25, -1, 111, 1, 1234.5, 111] >>> a.reverse() #Dao nguoc danh sach >>> a [111, 1234.5, 1, 111, -1, 22.25] >>> a.sort() #Sap xep >>> a [-1, 1, 22.25, 111, 111, 1234.5]
2. Sử dụng danh sách như ngăn xếp
Các phương thức của danh sách làm cho nó rất dễ sử dụng như là ngăn xếp (stack), là nơi mà phần tử cuối được thêm vào là phần tử đầu được lấy ra (``vào sau, ra trước'' hay ``last-in, first-out''). Để thêm phần tử vào đỉnh của ngăn xếp, dùng append(). Để lấy một phần tử từ đỉnh của ngăn xếp, dùng pop() mà không chỉ định chỉ mục.
Ví dụ:
Code:
>>> stack = [1,2,3] >>> stack.append(4) >>> stack.append(5) >>> stack [1,2,3,4,5] >>> stack.pop() 5 >>> stack [1,2,3,4] >>> stack.pop() 4 >>> stack.pop() 3 >>> stack [1,2]
Bạn cũng có thể thuận tiện dùng danh sách như là hàng đợi (queue), nơi mà phần tử được thêm vào đầu tiên là phần tử được lấy ra đầu tiên ("vào trước, ra trước'' hay "first-in, first-out''). Để thêm một phần tử vào cuối hàng đợi, dùng append(). Để lấy một phần tử từ đầu hàng đợi, dùng pop() với 0 là chỉ mục.
Code:
>>> queue = ["cho", "meo", "ga"] >>> queue.append("trau") >>> queue.append("bo") >>> queue.pop(0) 'cho' >>> queue.pop(0) 'meo' >>> queue ['ga', 'trau', 'bo']
- Viết chương trình thực hiện việc đổi số n ra số nhị phân, sau đó in kết quả ra màn hình. Chú ý sử dụng ngăn xếp để thực hiện.
- Viết chương trình thực hiện in ra n số nằm trong dãy số fibonaci. Xem thêm về dãy số Fibonaci ở đây.
http://ksec.info/threads/bai-9-1-cau-truc-du-lieu-trong-python.61/
0 comments:
Post a Comment
Click to see the code!
To insert emoticon you must added at least one space before the code.