2010-03-21 40 views
5

Tôi đang theo dõi một vài bài tập Pythone và tôi đã bối rối với bài tập này.Chính xác thì các bộ tuples bằng Python là gì?

# C. sort_last 
# Given a list of non-empty tuples, return a list sorted in increasing 
# order by the last element in each tuple. 
# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields 
# [(2, 2), (1, 3), (3, 4, 5), (1, 7)] 
# Hint: use a custom key= function to extract the last element form each tuple. 
def sort_last(tuples): 
    # +++your code here+++ 
    return 

Tuple là gì? Họ có nghĩa là một danh sách các danh sách?

+0

Bài tập này ở đâu? Bạn đang sử dụng hướng dẫn nào? –

+0

Google. –

+0

@Sergio bạn có thể cung cấp liên kết không? – RYFN

Trả lời

3

Một bộ và danh sách rất giống nhau. Sự khác biệt chính (như là một người sử dụng) là một tuple là bất biến (không thể được sửa đổi)

Trong ví dụ của bạn:

[(2, 2), (1, 3), (3, 4, 5), (1, 7)] 

Đây là một danh sách các hàng [...] là danh sách (2,2) là một tuple

14

Bộ dữ liệu là loại đơn giản nhất trong số các loại trình tự của Python. Bạn có thể nghĩ về nó như một (read-only) danh sách bất biến:

>>> t = (1, 2, 3) 
>>> print t[0] 
1 
>>> t[0] = 2 
TypeError: tuple object does not support item assignment 

Tuples thể được biến thành các danh sách mới bằng cách chỉ chuyển chúng tới các list() (giống như bất kỳ iterable), và bất kỳ iterable có thể được biến thành một mới tuple bằng cách chuyển nó đến tuple():

>>> list(t) 
[1, 2, 3] 
>>> tuple(["hello", []]) 
("hello", []) 

Hy vọng điều này sẽ hữu ích. Đồng thời xem what the tutorial has to say about tuples.

0

Tuples được sử dụng để nhóm các biến liên quan với nhau. Thường thì thuận tiện hơn khi sử dụng một bộ dữ liệu thay vì viết một lớp khác. Cấp, truy cập nội dung của họ bởi chỉ số này nhiều hơn che khuất hơn một biến thành viên được đặt tên, nhưng nó luôn luôn có thể sử dụng 'tuple giải nén':

def returnTuple(a, b): 
    return (a, b) 

a, b = returnTuple(1, 2) 
1

Bản tóm tắt tốt nhất trong những khác biệt giữa danh sách và tuples Tôi đã đọc là thế này:

Một bản tóm tắt chung của những khác biệt thú vị hơn, nếu tinh tế, đó là các bộ là không đồng nhất và danh sách là đồng nhất. Nói cách khác: Tuples (thường) là các chuỗi của khác nhau các loại công cụ và bạn xử lý bộ dữ liệu như một đơn vị mạch lạc. Danh sách (thường) là các chuỗi của cùng loại nội dung và bạn xử lý các mục riêng lẻ.

Từ: http://news.e-scribe.com/397

+1

Trong Haskell, các mục danh sách phải cùng Kiểu, trong khi tuple thì không. Nhưng điều này không đúng trong Python. Trong Python, sự khác biệt là bất biến. – weakish

0

Trong lập trình Python, một tuple cũng tương tự như một danh sách. Sự khác biệt giữa chúng là chúng ta không thể thay đổi các phần tử của một tuple khi nó được gán trong khi trong một danh sách, các phần tử có thể được thay đổi. data-types-in-python

Các vấn đề liên quan