Vòng lặp truy cập python

liệt kê Python là một tập hợp các đối tượng có thứ tự, không được thiết lập chỉ mục và có thể thay đổi. Chúng ta tạo nó bằng cách đặt các đối tượng có kiểu dữ liệu tương tự hoặc khác nhau bên trong dấu ngoặc kép được phân tách bằng dấu phẩy. Để biết thêm về cách hoạt động của list Python, vui lòng tham khảo hướng dẫn này

Xóa các mục trùng lặp khỏi danh sách là một bước xử lý trước dữ liệu quan trọng - ví dụ. xác định những khách hàng duy nhất đã mua hàng từ cửa hàng tặng quà trong tháng qua để nhận ưu đãi khuyến mại. Một số khách hàng có thể mua quà tặng từ cửa hàng nhiều hơn một lần trong tháng và tên của họ sẽ xuất hiện nhiều lần khi họ ghé thăm cửa hàng

Trong hướng dẫn này, chúng ta sẽ tìm hiểu các phương pháp khác nhau để xóa các bản sao khỏi danh sách Python

1. Sử dụng 
['Python', 'R', 'C#', 'Java']
2từ khóa

Chúng ta sử dụng 

['Python', 'R', 'C#', 'Java']
2từ khóa để xóa các đối tượng khỏi danh sách với vị trí chỉ mục của chúng. Chúng ta sử dụng phương pháp này khi kích thước của danh sách nhỏ và không có nhiều phần tử trùng lặp. Ví dụ, một thành viên lớp sáu sinh được hỏi về ngôn ngữ lập trình yêu thích của họ và câu trả lời của họ được lưu trong danh sách
['Python', 'R', 'C#', 'Java']
4. Một số sinh viên thích cùng một ngôn ngữ lập trình, vì vậy chúng ta có các bản sao trong danh sách
['Python', 'R', 'C#', 'Java']
4 mà chúng ta sẽ xóa bằng cách sử dụng
['Python', 'R', 'C#', 'Java']
2từ khóa

students = ['Python', 'R', 'C#', 'Python', 'R', 'Java']

# Remove the `Python` duplicate with its index number: 3
del students[3]

print[students]
['Python', 'R', 'C#', 'R', 'Java']
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
['Python', 'R', 'C#', 'Java']

Chúng ta đã xóa thành công các bản sao khỏi danh sách. Nhưng tại sao chúng ta lại sử dụng mục 3 hai lần? . danh sách Python không được thiết lập chỉ mục. Phần tử đầu tiên trong danh sách chỉ có số là 0 và phần tử cuối cùng có số chỉ là 5. Trùng lặp phần tử 

['Python', 'R', 'C#', 'Java']
9có số chỉ là 3. Sau khi xóa phần tử 
['Python', 'R', 'C#', 'Java']
9trùng lặp, phần 
['Python', 'R', 'C#', 'Java']
7tử của 
['Python', 'R', 'C#', 'Java']
4list giảm đi 1. Phần tử sau bản sao 
['Python', 'R', 'C#', 'Java']
9bây giờ giả định vị trí chỉ mục của nó. Đây là lý do tại sao 
['Python', 'R', 'C#', 'Java']
64chỉ mục trùng lặp thay đổi từ 4 thành 3. Nhược điểm của việc sử dụng phương pháp này là chúng ta phải theo dõi chỉ số của các bản sao luôn thay đổi. Điều này sẽ khó đối với một danh sách rất lớn

Tiếp theo, chúng ta sẽ xóa các bản sao khỏi danh sách bằng cách sử dụng hiệu quả hơn 

['Python', 'R', 'C#', 'Java']
65

2. Sử dụng
['Python', 'R', 'C#', 'Java']
65

Chúng ta sử dụng 

['Python', 'R', 'C#', 'Java']
65 để lặp lại một danh sách có thể lặp lại. ví dụ, một danh sách Python. Có người tham khảo về cách Để 
['Python', 'R', 'C#', 'Java']
65 hoạt động, vui lòng tham khảo hướng dẫn vòng quanh này trên blog DataQuest

Để loại bỏ các bản sao bằng cách sử dụng 

['Python', 'R', 'C#', 'Java']
65, trước tiên, bạn tạo một danh sách trống mới. Sau đó, bạn lặp lại các phần tử trong danh sách có chứa các bản sao và chỉ thêm lần xuất hiện đầu tiên của mỗi phần tử trong danh sách mới. Đoạn mã dưới đây cho thấy cách sử dụng 
['Python', 'R', 'C#', 'Java']
65 để xóa các bản sao khỏi 
['Python', 'R', 'C#', 'Java']
4list

['Python', 'R', 'C#', 'Java']
6
['Python', 'R', 'C#', 'Java']

thì đấy. Chúng ta đã xóa thành công các bản sao mà không cần phải theo dõi các chỉ số của phần tử. Phương pháp này có thể giúp chúng ta loại bỏ các bản sao trong một danh sách lớn. Tuy nhiên, điều này yêu cầu rất nhiều mã. Nên có một cách đơn giản hơn để làm điều này. Đoán nào?

list list dễ hiểu. Chúng ta sẽ đơn giản hóa đoạn mã trên bằng cách sử dụng danh sách tính năng hiểu biết trong ví dụ tiếp theo

['Python', 'R', 'C#', 'Java']
6
['Python', 'R', 'C#', 'Java']

Chúng ta đã hoàn thành công việc với ít dòng mã hơn. Chúng ta có thể kết hợp 

['Python', 'R', 'C#', 'Java']
65với các hàm 
['Python', 'R', 'C#', 'Java']
3và 
['Python', 'R', 'C#', 'Java']
4 để viết các đoạn mã lạ nhằm loại bỏ các đoạn mã trùng lặp. Ý tưởng phía sau cách các mã hoạt động này giống như trong các ví dụ được hiển thị ở trên

Tiếp theo, chúng ta sẽ xem cách xóa các bản sao khỏi danh sách mà không cần lặp lại bằng cách sử dụng một 

['Python', 'R', 'C#', 'Java']
5

3. Sử dụng
['Python', 'R', 'C#', 'Java']
5

Tập hợp trong Python là tập hợp không có thứ tự của các phần tử duy nhất. Theo bản chất của chúng, các bản sao không được phép. Do đó, việc chuyển đổi một danh sách thành một tập hợp sẽ loại bỏ các bản sao. Thay đổi tập hợp thành một danh sách sẽ tạo ra một danh sách mới không có bản sao

Ví dụ sau đây để biết cách loại bỏ các bản sao khỏi 

['Python', 'R', 'C#', 'Java']
4list bằng cách sử dụng 
['Python', 'R', 'C#', 'Java']
5

['Python', 'R', 'C#', 'Java']
5
['Python', 'R', 'C#', 'Java']
6

Lưu ý rằng thứ tự của các phần tử trong danh sách khác với ví dụ trước của chúng ta. Điều này là do một 

['Python', 'R', 'C#', 'Java']
5 đơn đặt hàng không được bảo đảm toàn bộ. Tiếp theo, chúng ta sẽ xem cách xóa các từ trùng lặp khỏi danh sách bằng cách sử dụng từ điển

4. Sử dụng
['Python', 'R', 'C#', 'Java']
60

Từ điển Python là một tập hợp các cặp từ khóa-giá trị với yêu cầu là các từ khóa phải là duy nhất. Vì vậy, chúng ta sẽ xóa các bản sao trong danh sách Python nếu chúng ta có thể làm cho các phần tử của danh sách trở thành từ khóa của từ điển. Chúng ta không thể chuyển đổi 

['Python', 'R', 'C#', 'Java']
4list đơn giản thành từ điển vì từ điển được tạo bằng cặp từ khóa-giá trị. Chúng ta gặp lỗi sau nếu chúng ta cố gắng chuyển đổi 
['Python', 'R', 'C#', 'Java']
4list sang từ điển

['Python', 'R', 'C#', 'R', 'Java']
0
['Python', 'R', 'C#', 'R', 'Java']
1

Tuy nhiên, chúng ta có thể tạo một từ điển từ một danh sách các bộ giá trị - sau đó chúng ta sẽ lấy các từ khóa duy nhất của từ điển và chuyển chúng thành một danh sách. Một cách được vector hóa để lấy danh sách các bộ giá trị từ 

['Python', 'R', 'C#', 'Java']
4list là sử dụng chức năng bản đồ

['Python', 'R', 'C#', 'R', 'Java']
2
['Python', 'R', 'C#', 'R', 'Java']
3

Trong khối mã trên, mọi phần tử trong

['Python', 'R', 'C#', 'Java']
4list được chuyển qua
['Python', 'R', 'C#', 'Java']
65hàm để tạo bộ giá trị
['Python', 'R', 'C#', 'Java']
66,. Khi danh sách các bộ giá trị được thay đổi thành một từ điển, phần tử đầu tiên trong bộ giá trị là khóa và phần tử thứ hai là giá trị. Các từ khóa duy nhất là từ điển với 
['Python', 'R', 'C#', 'Java']
67 phương thức và được thay thế thành một danh sách

['Python', 'R', 'C#', 'R', 'Java']
4
['Python', 'R', 'C#', 'R', 'Java']
5____66
['Python', 'R', 'C#', 'R', 'Java']
7

Phương pháp 

['Python', 'R', 'C#', 'Java']
68pháp chuyển một danh sách thành một danh sách các bộ giá trị và liệt kê các bộ giá trị thành một từ điển trong một lần thực hiện. Sau đó, chúng ta có thể lấy các từ khóa duy nhất và chuyển đổi chúng thành một danh sách. Tuy nhiên, chúng ta đã sử dụng 
['Python', 'R', 'C#', 'Java']
69 phương pháp này để lấy các từ khóa duy nhất từ ​​​​từ điển trước khi chuyển đổi thành danh sách. Điều này không thực sự cần thiết. Theo mặc định, các thao tác trên từ điển giống như phép lặp và chuyển đổi thành danh sách sử dụng các từ điển

['Python', 'R', 'C#', 'R', 'Java']
8
['Python', 'R', 'C#', 'R', 'Java']
9

4. Sử dụng 
['Python', 'R', 'C#', 'Java']
0và
['Python', 'R', 'C#', 'Java']
1

Chúng ta có thể xóa các bản sao khỏi danh sách Python bằng cách sử dụng các lớp con từ điển như 

['Python', 'R', 'C#', 'Java']
0và 
['Python', 'R', 'C#', 'Java']
1. Cả hai 
['Python', 'R', 'C#', 'Java']
0và 
['Python', 'R', 'C#', 'Java']
1 hoạt động theo cùng một cách. Chúng là các tập hợp trong đó các phần tử duy nhất là từ điển từ khóa và số lần xuất hiện của chúng là các giá trị. Như trong từ điển, danh sách không có bản sao đến các từ điển

# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
0
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
1
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
2
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
3

5. Sử dụng 
['Python', 'R', 'C#', 'Java']
6và
['Python', 'R', 'C#', 'Java']
7

Cả hai 

['Python', 'R', 'C#', 'Java']
6và 
['Python', 'R', 'C#', 'Java']
7 lấy một danh sách có các bản sao và trả về một mảng duy nhất của các phần tử trong danh sách. Các mảng kết quả được chuyển đổi thành danh sách. Trong khi 
['Python', 'R', 'C#', 'Java']
7sắp xếp các phần tử duy nhất theo thứ tự tăng dần, 
['Python', 'R', 'C#', 'Java']
6 vẫn duy trì thứ tự của các phần tử trong danh sách

# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
4
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
5

Ứng dụng. Cửa hàng quà tặng được xem lại

Trong phần này, chúng ta sẽ xem lại minh họa cửa hàng quà tặng của chúng ta. Cửa hàng quà tặng có 50 người. Trung bình có 10 người mua hàng tại cửa hàng mỗi ngày và cửa hàng mở cửa 10 ngày trong tháng. Bạn đã nhận được danh sách danh sách có tên của những khách hàng đã mua hàng của cửa hàng trong tháng trước và nhiệm vụ của bạn là lấy tên của những khách hàng duy nhất để nhận được ưu đãi khuyến mại

# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
6
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
7

Trong khối mã trên, chúng ta đã tạo ngẫu nhiên những khách hàng đã mua hàng từ cửa hàng trong tháng qua danh sách dưới dạng danh sách. Chúng tôi muốn có được những khách hàng duy nhất đã mua hàng từ cửa hàng mỗi tháng, vì vậy chúng tôi sẽ tạo ra 

['Python', 'R', 'C#', 'Java']
52chức năng cho nhiệm vụ này

Chúng ta đã bao gồm các kiểu dữ liệu đầu vào và tùy chọn đầu ra. Python là ngôn ngữ lập trình được nhập động và xử lý điều khiển này trong thời gian chạy. Tuy nhiên, rất hữu ích khi hiển thị các kiểu dữ liệu đầu vào và đầu ra cho các cấu trúc dữ liệu phức tạp. Ngoài ra, chúng ta có thể mô tả đầu vào và đầu ra của hàm bằng một 

['Python', 'R', 'C#', 'Java']
53.
['Python', 'R', 'C#', 'Java']
54cho chúng ta biết rằng 
['Python', 'R', 'C#', 'Java']
55tham số là một danh sách chứa các danh sách với các chuỗi và 
['Python', 'R', 'C#', 'Java']
56cho chúng ta biết rằng hàm trả về một danh sách chứa các bộ giá trị với một chuỗi và một số nguyên

# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
8
# Remove the `R` duplicate with its index number: 3
del students[3]

print[students]
9

Tên của khách hàng được tạo ngẫu nhiên - tên của khách hàng có thể khác nếu bạn không sử dụng cùng một 

['Python', 'R', 'C#', 'Java']
57giá trị. Tên của những khách hàng duy nhất trong đó 
['Python', 'R', 'C#', 'Java']
58xuất phát từ việc đầu tiên chuyển đổi danh sách các bộ giá trị sang một từ điển và sau đó chuyển các từ khóa từ điển thành một danh sách

Chủ Đề