2012-08-30 83 views

Trả lời

42

Bạn có thể sử dụng một bộ:

b_set = set(map(tuple,a)) #need to convert the inner lists to tuples so they are hashable 
b = map(list,b_set) #Now convert tuples back into lists (maybe unnecessary?) 

Hoặc, nếu bạn thích danh sách comprehensions/máy phát điện:

b_set = set(tuple(x) for x in a) 
b = [ list(x) for x in b_set ] 

Cuối cùng, nếu trật tự là rất quan trọng, bạn có thể luôn sắp xếp b:

b.sort(key = lambda x: a.index(x)) 
+0

Nếu bạn muốn một cái gì đó độc đáo, một bộ là cách để đi. :) – mgilson

+0

Thnak bạn, đó là exectly những gì tôi muốn. – user1507156

8

Xem câu trả lời của mgilson nếu thứ tự của các danh sách không quan trọng. Nếu bạn muốn giữ lại đơn đặt hàng, hãy làm điều gì đó như:

b = list() 
for sublist in a: 
    if sublist not in b: 
     b.append(sublist) 

Điều này sẽ giữ thứ tự trong danh sách gốc. Tuy nhiên, nó chậm hơn và tiết kiệm hơn so với sử dụng bộ.

+0

Cảm ơn bạn quá, phương pháp của bạn là thú vị, nhưng tôi không cần phải giữ trật tự. – user1507156

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