Problem

5 /10


Đặt sắp xếp

Theory Click to read/hide

Đặt sắp xếp?

Như chúng ta đã biết, thứ tự của các phần tử trong tập hợp không được tính đến. Vì vậy, nó có hợp lý khi nói về các bộ sắp xếp trong Python 3 không?! (Đó là lý do tại sao có một dấu chấm hỏi trong tiêu đề)

Để nhanh chóng tìm thấy một phần tử trong một tập hợp, bạn nên lưu trữ chúng trong bộ nhớ ở dạng có thứ tự.

Hãy xem xét một số ví dụ. Điều gì xảy ra với các phần tử thuộc các loại dữ liệu khác nhau trong cùng một tập hợp? Không nên sắp xếp các phần tử như vậy. Nếu chúng ta in các phần tử bằng lệnh print(), chúng sẽ được xuất ra như thế này:

a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'} print(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'} Trong trường hợp này, các giá trị chưa sắp xếp được hiển thị. Nếu bạn khởi chạy lại, thì thứ tự đầu ra có thể khác. Nhưng điều này chỉ xảy ra khi các phần tử thuộc các loại khác nhau được trộn lẫn.

Hãy thử hiển thị dữ liệu thuộc một loại (ví dụ: chỉ các số): a = {0, 1, 12, 3, 2} in(a) # {0, 1, 2, 3, 12} Tất cả các yếu tố được hiển thị theo thứ tự. Hãy thử chuyển đổi nó thành một danh sách: a = {0, 1, 12, 3, 2} b = danh sách (a) in(b) # [0, 1, 2, 3, 12] Tương tự, các phần tử được sắp xếp theo thứ tự tăng dần đã được ghi vào danh sách.

Hóa ra là các phần tử được lưu trữ trong bộ nhớ ở dạng có thứ tự nếu chúng cùng loại. Nhưng tốt hơn là đừng trông chờ vào điều đó, thuật toán Python có thể thay đổi.

Nếu bạn cần lấy một danh sách đã sắp xếp từ một tập hợp, tốt hơn là sử dụng sắp xếp (< code>sorted) để đảm bảo ). Các yếu tố sẽ được sắp xếp chính xác. Mã của bạn sẽ dễ hiểu đối với người khác.

Problem

Trợ giúp Deniska từ hai danh sách các số sẽ hiển thị theo thứ tự tăng dần những số có trong cả danh sách thứ nhất và thứ hai.

Hãy thử viết một chương trình Python trong một dòng.


Đầu vào  
Hai danh sách các số được nhập vào. Tất cả các số của mỗi danh sách nằm trên một dòng riêng.

Dấu ấn 
In câu trả lời cho vấn đề.

 
Ví dụ
<đầu>
# Đầu vào Đầu ra
1 1 3 2
5 1 2
1 2