Trong khi làm việc với danh sách Python, đôi khi, chúng tôi yêu cầu kiểm tra các bản sao và đôi khi cũng có thể yêu cầu theo dõi các chỉ mục của chúng. Loại ứng dụng này có thể xảy ra trong lập trình ngày. Hãy thảo luận về một số cách mà vấn đề này có thể được giải quyết
Mục lục Hiển thị
- con trăn. Sao chép các chỉ số phần tử trong danh sách
- con trăn. Nhận chỉ mục của mục trong Danh sách
- Tìm chỉ mục của các phần tử trùng lặp trong danh sách Ví dụ về Python
- Làm cách nào để lấy chỉ mục của chuỗi trùng lặp trong danh sách?
- Chia sẻ cái này
- Chỉ mục danh sách Python[]
- Giá trị trả về
- Thí dụ. Để tìm chỉ mục của phần tử đã cho
- Thí dụ. Sử dụng start và end trong index[]
- Thí dụ. Để kiểm tra phương thức index[] với một phần tử không có mặt
- 1. Sử dụng hàm index[]
- "có chức năng nào tìm thấy phần tử trùng lặp và trả về số chỉ mục của phần tử trùng lặp trong danh sách trong python không" Code Answer's
- Các câu trả lời của Python liên quan đến “có hàm nào tìm thấy phần tử trùng lặp và trả về số chỉ mục của phần tử trùng lặp trong danh sách trong python không”
- Truy vấn Python liên quan đến “có chức năng nào tìm thấy phần tử trùng lặp và trả về số chỉ mục của phần tử trùng lặp trong danh sách trong python”
Phương pháp #1. Sử dụng loop + set[]
Nhiệm vụ này có thể được giải quyết bằng cách kết hợp các chức năng trên. Trong phần này, chúng ta chỉ cần chèn tất cả các phần tử vào tập hợp rồi so sánh sự tồn tại của từng phần tử trong danh sách thực tế. Nếu đó là lần xuất hiện thứ hai trở lên, thì chỉ mục sẽ được thêm vào danh sách kết quả.
# Mã Python3 để chứng minh hoạt động của
# Sao chép chỉ số phần tử trong danh sách
# Sử dụng vòng lặp set[] +
# khởi tạo danh sách
test_list = [1, 4, 5, 5, 5, 9, 1]
# in danh sách gốc
print["Danh sach ban dau la. " + str[test_list]]
# Sao chép chỉ số phần tử trong danh sách
# Sử dụng vòng lặp set[] +
oc_set = bộ[]
độ phân giải = []
cho idx, val trong liệt kê [test_list]
nếu val không có trong oc_set
oc_set. thêm [val]
khác
độ phân giải. nối thêm [idx]
# kết quả in
print["Danh sach cac phan tu trùng la. " + str[res]]
đầu ra. Danh sách ban đầu là. [1, 4, 5, 5, 5, 9, 1] Danh sách các phần tử trùng lặp là. [3, 4, 6]
Phương pháp #2. Sử dụng tính năng hiểu danh sách + cắt danh sách
Phương pháp này là một phương pháp thay thế lót để thực hiện tác vụ này. Trong phần này, chúng tôi chỉ kiểm tra phần tử không lặp lại bằng cách sử dụng danh sách cắt và tiếp tục thêm chỉ mục trong trường hợp nó lặp lại.
# Mã Python3 để chứng minh hoạt động của
# Sao chép chỉ số phần tử trong danh sách
# Sử dụng hiểu danh sách + cắt danh sách
# khởi tạo danh sách
test_list = [1, 4, 5, 5, 5, 9, 1]
# in danh sách gốc
print["Danh sach ban dau la. " + str[test_list]]
# Sao chép chỉ số phần tử trong danh sách
# Sử dụng hiểu danh sách + cắt danh sách
res = [idx cho idx, val trong liệt kê [test_list] nếu val trong test_list[. idx]]
# kết quả in
print["Danh sach cac phan tu trùng la. " + str[res]]
đầu ra. Danh sách ban đầu là. [1, 4, 5, 5, 5, 9, 1] Danh sách các phần tử trùng lặp là. [3, 4, 6]
Thẻ bài viết
con trăn
Chương trình Python
Chương trình danh sách Python
Đọc toàn bộ bài viết
con trăn. Nhận chỉ mục của mục trong Danh sách
Để tìm chỉ mục của phần tử trong danh sách trong python, chúng ta sẽ sử dụng hàm list. mục lục[],
danh sách. mục lục[]
Kiểu dữ liệu danh sách của Python cung cấp phương thức này để tìm chỉ mục đầu tiên của một phần tử đã cho trong danh sách hoặc danh sách con i. e
quảng cáo
danh sách. chỉ mục [x [, bắt đầu [, kết thúc]]]Tranh luận
- x. Mục cần tìm trong danh sách
- bắt đầu. Nếu được cung cấp, tìm kiếm sẽ bắt đầu từ chỉ mục này. Mặc định là 0
- chấm dứt. Nếu được cung cấp, tìm kiếm sẽ kết thúc tại chỉ mục này. Mặc định là cuối danh sách
trả lại. Chỉ số dựa trên số 0 về lần xuất hiện đầu tiên của phần tử đã cho trong danh sách hoặc phạm vi. Nếu không có phần tử nào như vậy thì nó sẽ tăng ValueError
Tâm điểm. danh sách. index[] trả về chỉ mục theo cách dựa trên 0 tôi. e. phần tử đầu tiên trong danh sách có chỉ số 0 và phần tử thứ hai trong chỉ mục là 1
Hãy sử dụng chức năng này để tìm các chỉ mục của một mục nhất định trong danh sách,
Giả sử chúng ta có một danh sách các chuỗi,
# Danh sách chuỗi list_of_elems = ['Xin chào', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok']Bây giờ, hãy tìm chỉ mục xuất hiện đầu tiên của mục 'Ok' trong danh sách,
elem = 'Ok' # Tìm vị trí chỉ mục xuất hiện đầu tiên của 'Ok' trong danh sách index_pos = list_of_elems. index[elem] print[f'Chỉ số đầu tiên của phần tử "{elem}" trong danh sách. ', index_pos]đầu ra
Chỉ mục đầu tiên của phần tử "Ok" trong danh sách. 1Như trong danh sách. index[] chúng tôi không cung cấp đối số bắt đầu và kết thúc, vì vậy nó đã tìm kiếm 'Ok' trong danh sách đầy đủ. Nhưng đã trả lại vị trí chỉ mục ngay khi nó gặp sự xuất hiện đầu tiên của 'Ok' trong danh sách
Nhưng nếu mục được tìm kiếm không tồn tại trong danh sách, thì index[] sẽ tăng ValueError. Vì vậy, chúng ta cần phải sẵn sàng cho loại kịch bản này. Ví dụ,
list_of_elems = ['Xin chào', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test', 'Ok'] elem = 'Tại sao' thử. index_pos = list_of_elems. index[elem] print[f'Chỉ số đầu tiên của phần tử "{elem}" trong danh sách. ', index_pos] ngoại trừ ValueError là e. print[f Phần tử "{element}" không tìm thấy trong danh sách. ', e]đầu ra
Phần tử "Tại sao" không tìm thấy trong danh sách. 'Tại sao' không có trong danh sáchVì 'Tại sao' không có trong danh sách, nên danh sách. index[] tăng ValueError
Tìm chỉ mục của các phần tử trùng lặp trong danh sách Ví dụ về Python
Mã ví dụ đơn giản
a = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5] res = [idx cho idx, mục trong liệt kê[a] nếu mục trong a[. idx]] in [độ phân giải]đầu ra
Một ví dụ khác sử dụng bộ sưu tập
Bạn phải nhập mô-đun bộ sưu tập cho ví dụ này
nhập bộ sưu tập gốc = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5] dup = [mục cho mục, đếm trong bộ sưu tập. Bộ đếm [bản gốc]. items[] if count > 1] for i in dup. print["chỉ số của", i, "=", bản gốc. chỉ mục[i]]đầu ra
chỉ số của 1 = 0
chỉ số của 2 = 1
chỉ số của 5 = 5
Làm cách nào để lấy chỉ mục của chuỗi trùng lặp trong danh sách?
Duyệt qua độ dài của danh sách để chúng tôi có thể theo dõi từng chỉ mục và in chỉ mục
nhập bộ sưu tập gốc = ['A', 'B', 'A', 'B', 'C'] dup = [mục cho mục, đếm trong bộ sưu tập. Bộ đếm [bản gốc]. items[] if count > 1] for i in dup. print["chỉ số của", i, "=", bản gốc. chỉ mục[i]]đầu ra
chỉ số của A = 0
chỉ số của B = 1
Hãy bình luận nếu bạn có bất kỳ câu hỏi và nghi ngờ hoặc đề xuất nào về chủ đề danh sách Python này
Ghi chú. IDE. PyCharm2021. 3 [Phiên bản cộng đồng]
cửa sổ 10
Trăn 3. 10. 1
Tất cả các ví dụ về Python đều có trong Python3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp
Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật
Chia sẻ cái này
- Hơn
- In
- Tumblr
- Túi
- điện tín
- Ứng dụng trò chuyện
Có liên quan
Chỉ mục danh sách Python[]
Phương thức list index[] giúp bạn tìm chỉ số thấp nhất đầu tiên của phần tử đã cho. Nếu có các phần tử trùng lặp trong danh sách, chỉ mục đầu tiên của phần tử được trả về. Đây là cách dễ dàng và đơn giản nhất để lấy chỉ mục
Bên cạnh phương thức list index[] có sẵn, bạn cũng có thể sử dụng các cách khác để lấy chỉ mục như lặp qua danh sách, sử dụng các phương thức hiểu danh sách, liệt kê[], lọc
Phương thức list index[] trả về chỉ số thấp nhất đầu tiên của phần tử đã cho
cú pháp
danh sách. chỉ mục [phần tử, bắt đầu, kết thúc]Thông số
Tham sốDescriptionelementPhần tử mà bạn muốn lấy chỉ mục. start Tham số này là tùy chọn. Bạn có thể xác định bắt đầu. chỉ mục để tìm kiếm phần tử. Nếu không được cung cấp, giá trị mặc định là 0. end Tham số này là tùy chọn. Bạn có thể chỉ định chỉ mục kết thúc cho phần tử được tìm kiếm. Nếu không đưa ra thì coi như hết danh sáchGiá trị trả về
Phương thức list index[] trả về chỉ số của phần tử đã cho. Nếu phần tử không có trong danh sách, phương thức index[] sẽ báo lỗi, ví dụ ValueError. 'Yếu tố' không có trong danh sách
Thí dụ. Để tìm chỉ mục của phần tử đã cho
Trong danh sách my_list = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’] , chúng ta muốn biết chỉ số của phần tử C và F
Ví dụ dưới đây cho thấy cách lấy chỉ mục
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print["Chỉ số của phần tử C là ", my_list. index['C']] print["Chỉ số của phần tử F là ", my_list. chỉ số ['F']]đầu ra
Chỉ số của phần tử C là 2 Chỉ số của phần tử F là 5Thí dụ. Sử dụng start và end trong index[]
Trong ví dụ này sẽ cố gắng hạn chế tìm kiếm chỉ mục trong danh sách bằng cách sử dụng chỉ mục bắt đầu và kết thúc
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print["Chỉ số của phần tử . index['C', 1, 5]] print["Chỉ số của phần tử F là ", my_list. index['F', 3, 7]] #chỉ sử dụng startindex print["Chỉ số của phần tử D là ", my_list. chỉ số ['D', 1]]đầu ra
Chỉ số của phần tử C là 2 Chỉ số của phần tử F là 5 Chỉ số của phần tử D là 3Thí dụ. Để kiểm tra phương thức index[] với một phần tử không có mặt
Khi bạn cố gắng tìm kiếm chỉ mục trong danh sách cho phần tử không có mặt, bạn sẽ gặp lỗi như hình bên dưới
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print["Chỉ số của phần tử . chỉ số ['Z']]đầu ra
Traceback [most recent call last]: File "display.py", line 3, in print["The index of element C is ", my_list.index['Z']] ValueError: 'Z' is not in list1. Sử dụng hàm index[]
Một giải pháp đơn giản là lặp qua danh sách với các chỉ số bằng cách sử dụng khả năng hiểu danh sách và kiểm tra sự xuất hiện khác của từng phần tử gặp phải bằng cách sử dụng hàm index[]. Độ phức tạp về thời gian của giải pháp này sẽ là bậc hai và mã không xử lý các phần tử lặp lại trong đầu ra