Làm cách nào để tìm phần tử lặp lại trong python?

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]

Làm cách nào để tìm phần tử lặp lại trong python?




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 báo

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. 1

Như 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ách

Vì '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

  • Facebook
  • WhatsApp
  • LinkedIn
  • Hơn
  • Twitter
  • In
  • reddit
  • Tumblr
  • Pinterest
  • Túi
  • điện tín
  • Ứng dụng trò chuyện
  • E-mail

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ách

Giá 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à 5

Thí 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à 3

Thí 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 list

1. 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ỉ mục 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