Danh sách con python dựa trên điều kiện
Trong bài viết này, chúng ta sẽ tìm hiểu cách sắp xếp một danh sách bất kỳ, theo thành phần thứ hai của danh sách con có trong danh sách chính. Chúng ta sẽ thấy hai phương pháp để làm điều này. Chúng ta sẽ tìm hiểu ba phương pháp thực hiện sắp xếp này. Một bằng cách sử dụng Sắp xếp bong bóng, thứ hai bằng cách sử dụng phương thức sort() và cuối cùng nhưng không kém phần quan trọng bằng cách sử dụng phương thức sorted(). Trong chương trình này, chúng tôi đã sắp xếp danh sách theo thứ tự tăng dần. ví dụ Show Input : [['rishav', 10], ['akash', 5], ['ram', 20], ['gaurav', 15]] Output : [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] Input : [['452', 10], ['256', 5], ['100', 20], ['135', 15]] Output : [['256', 5], ['452', 10], ['135', 15], ['100', 20]] Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải phápPhương pháp 1. Sử dụng kỹ thuật Sắp xếp bong bóng Ở đây chúng tôi đã sử dụng kỹ thuật Sắp xếp bong bóng để thực hiện việc sắp xếp. Chúng tôi đã cố gắng truy cập phần tử thứ hai của danh sách con bằng cách sử dụng các vòng lặp lồng nhau. Điều này thực hiện phương pháp sắp xếp tại chỗ. Độ phức tạp về thời gian tương tự như Sắp xếp bong bóng i. e. , O(n^2) Python3[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]31 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]32 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]33 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]34 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]8 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]9 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]5 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]8 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]9 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]5 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]8 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]5 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7____12 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]9 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]9 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]1 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]315 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]317 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]320 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]321 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]323 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]325 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]327 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]329 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]331 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]333 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]335 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]336 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]337 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]338 đầu ra [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] Phương pháp 2. Sắp xếp bằng cách sử dụng phương thức sort() Trong khi sắp xếp thông qua phương thức này, nội dung thực tế của bộ được thay đổi và giống như phương thức trước đó, phương thức sắp xếp tại chỗ được thực hiện. Python3[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]339 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]340 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]33 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]34
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0____1344 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0____1346 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]348 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0_______100 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]02 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]03 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]05 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]315 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]317 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]320 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]321 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]323 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]325 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]327 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]329 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]331 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]333 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]335 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]336 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]337 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]338 Đầu ra [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] đầu ra [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] Phương pháp 3. Sắp xếp bằng cách sử dụng phương thức sorted() Sorted() sắp xếp danh sách và luôn trả về danh sách có các phần tử theo cách được sắp xếp mà không sửa đổi trình tự ban đầu. Phải mất ba tham số trong đó hai tham số là tùy chọn, ở đây chúng tôi đã cố gắng sử dụng cả ba tham số
Python3[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]339 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]32 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]33 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]34
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0____1344 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0____1346 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]348 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0______1315_______10 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]44 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]45 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]02 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]03 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]50
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]317 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]320 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]321 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]323 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]325 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]327 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]329 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]331 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]333 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]335 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]336 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]337 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]338 Đầu ra [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] Phương pháp 4. sử dụng ra lệnh Python3[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]73 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]74 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]75 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]76
[['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]33 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]34 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]80 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]82____12 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]84 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]8 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]89 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]3______191 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]4 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]336 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]7 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]98 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]00 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]44 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]03 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]05 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0_______107 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]09 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]6 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]11 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]8 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]13 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]0 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]315 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]07 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]18 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]317 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]316 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]2 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]320 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]321 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]323 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]325 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]327 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]329 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]331 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]324 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]333 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]322 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]335 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]336 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]337 [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]]338 Đầu ra [['akash', 5], ['rishav', 10], ['gaurav', 15], ['ram', 20]] Cách tiếp cận này triển khai một từ điển được sắp xếp lưu trữ phần tử danh sách con dưới dạng các cặp khóa-giá trị. Từ điển sau đó được sắp xếp theo các khóa và danh sách được trả về với các phần tử được sắp xếp theo phần tử thứ hai trong danh sách con |