Hướng dẫn count duplicate elements hackerrank python - đếm các phần tử trùng lặp hackerrank python

Giải pháp của EV. Kounis là đơn giản nhất và những gì bạn nên sử dụng theo ý kiến ​​khiêm tốn của tôi. Tuy nhiên, nếu bạn muốn gắn bó với mã của mình, đây là lý do tại sao nó không hoạt động:

Với các vòng lặp

Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
[5, 6]
Number of duplicates:  4
0 phức tạp của bạn, về cơ bản, bạn nói "cho mọi mục trong danh sách của tôi, tăng
Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
[5, 6]
Number of duplicates:  4
1 khi bạn tìm thấy một bản sao", về cơ bản là những gì bạn muốn. Nhưng vì bạn có hai "4 bản sao", nên nó tăng thêm thời gian.

seq=[-1,2,4,2,0,4,4]
fir = 0
sec = 0
count = 0
print "Pairs of duplicates: "
for fir, item1 in enumerate[seq]:
    for sec, item2 in enumerate[seq]:
        if fir < sec and seq[fir] == seq[sec] :
            count+=1
            print[fir, sec]
    
print "Number of duplicates: ", count 

Đầu ra nào:

Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
[5, 6]
Number of duplicates:  4

Cặp

Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
[5, 6]
Number of duplicates:  4
3 không chính xác.

Để khắc phục điều này, chỉ cần thêm một điều kiện vào câu lệnh

Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
[5, 6]
Number of duplicates:  4
4 của bạn để ngăn chặn một mục được so sánh hai lần:

seq=[-1,2,4,2,0,4,4]
fir = 0
sec = 0
count = 0
duplicates=[]
print "Pairs of duplicates: "
for fir, item1 in enumerate[seq]:
    for sec, item2 in enumerate[seq]:
        if fir < sec and seq[fir] == seq[sec] and seq[fir] not in duplicates:
            count+=1
            print[fir, sec]

    duplicates.append[seq[fir]]

print "Number of duplicates: ", count

Kết quả nào cho thấy kết quả mong muốn:

Pairs of duplicates: 
[1, 3]
[2, 5]
[2, 6]
Number of duplicates:  3

Nhưng một lần nữa, làm

len[seq]-len[set[seq]]

đơn giản hơn rất nhiều và hoạt động tốt như vậy.

EDIT:

Tôi nhận ra rằng tôi đã không sử dụng trong khi các vòng lặp trong ví dụ của mình.

def count_duplicates[seq]: 

    fir = 0
    sec = 0
    count = 0
    duplicates=[]
    print "Pairs of duplicates: "
    while fir < len[seq]:
        while sec < len[seq]:
            if fir < sec and seq[fir] == seq[sec] and seq[fir] not in duplicates:
                count += 1
                print[fir, sec]
            sec += 1
        duplicates.append[seq[fir]]
        fir += 1
        sec = 0
    return count 


c=count_duplicates[[-1,2,4,2,0,4,4]]
print "Number of duplicates: ", c

Nếu bạn muốn đếm các bản sao cho một phần tử nhất định thì hãy sử dụng hàm đếm []. Sử dụng kết hợp logic chức năng hoặc hàm cơ bản để tìm tất cả các yếu tố trùng lặp trong danh sách và đếm chúng trong Python.count[] function. Use a counter[] function or basics logic combination to find all duplicated elements in a list and count them in Python.

Mã ví dụ đơn giản.

Sử dụng Count []

Nhận được sự xuất hiện của một yếu tố nhất định trong danh sách. Đếm số B Bi trong danh sách.

MyList = ["b", "a", "a", "c", "b", "a", "c", 'a']

res = MyList.count['b']

print[res]

Đầu ra: 2: 2

Và nếu muốn đếm từng phần tử trong danh sách sử dụng cho Loop.

MyList = ["b", "a", "a", "c", "b", "a", "c", 'a']
res = {}

for i in MyList:
    res[i] = MyList.count[i]
    
print[res]

Output::

Cùng một mã sử dụng danh sách hiểu

MyList = ["b", "a", "a", "c", "b", "a", "c", 'a']
res = {i:MyList.count[i] for i in MyList}

print[res]

Sử dụng bộ sưu tập.Count []

Bạn cần nhập bộ đếm từ bộ sưu tập.

from collections import Counter

MyList = ["a", "b", "a", "c", "c", "a", "c"]
res = Counter[MyList]

print[res]
print[res['a']]

Đầu ra::

Counter [{’a,
3

Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chủ đề danh sách Python này.

Lưu ý: IDE: & NBSP; Pycharm & NBSP; 2021.3.3 [Phiên bản cộng đồng] IDE: PyCharm 2021.3.3 [Community Edition]

Windows 10

Python 3.10.1

Tất cả & nbsp; ví dụ python & nbsp; là trong & nbsp; Python & nbsp; 3, vì vậy có thể khác với các phiên bản Python 2 hoặc nâng cấp. Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

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ó nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.

Một yếu tố được cho là trùng lặp nếu nó xảy ra nhiều lần trong danh sách. Nếu bạn muốn tìm các phần tử trùng lặp của danh sách Python, bạn có thể kiểm tra các tồn tại của từng phần tử trong danh sách, sau đó thêm nó vào các bản sao; Nếu tổng số lượng tồn tại của phần tử này nhiều lần, thì phần tử được trùng lặp trong danh sách. Hướng dẫn này sẽ xây dựng các chương trình ví dụ giúp chúng tôi đếm các mục trùng lặp của một danh sách.

Bạn cũng có thể sử dụng hàm tích hợp Python, tức là, đếm []. Hàm này kết quả từ tổng số của một mục nhất định trong danh sách. Hàm đếm [] đếm chuỗi cũng như các phần tử có trong danh sách. Điều tiện lợi về danh sách là bạn có thể thêm các giá trị trùng lặp vào danh sách. Nó không chỉ cho phép các giá trị số nguyên trùng lặp mà còn có thể thêm các phần tử trùng lặp thuộc bất kỳ loại nào như chuỗi, float, v.v. Hãy để nói rõ hơn với sự trợ giúp của các ví dụ. Chúng tôi sử dụng trình biên dịch Spyder để giải thích cách Python đếm các yếu tố trùng lặp trong danh sách.

ví dụ 1

Trong hình minh họa đầu tiên của chúng tôi, chúng tôi sử dụng một phương pháp đơn giản để tìm các phần tử trùng lặp trong danh sách Python. Bây giờ, hãy để kiểm tra cách thức hoạt động của chương trình. Để chạy mã của bạn, điều đầu tiên bạn phải làm là khởi chạy Spyder IDE. Vì vậy, từ thanh tìm kiếm windows PC, nhập ‘spyder và sau đó nhấp vào mở. Tạo một tệp mới bằng cách chuyển sang menu tệp hoặc chỉ cần sử dụng phím tắt ‘Ctrl+Shift+n. Sau khi tạo một tệp mới, hãy viết mã Python để xây dựng cách Python đếm các bản sao trong danh sách.

Phương pháp này sử dụng hai vòng lặp để đi qua danh sách các phần tử và kiểm tra xem mục thứ nhất và mục thứ hai của mỗi phần tử đều phù hợp với bất kỳ tuple nào khác. Bước đầu tiên của chúng tôi chuyển đổi ‘listofitem, thành một chuỗi. Sau đó, chúng tôi khởi tạo danh sách để nối các giá trị giống hệt nhau trong danh sách. Để kiểm tra sự trùng lặp của phần tử, chúng tôi sử dụng các câu lệnh IF-Else. Nếu các phần tử được nhân đôi, thì nó sẽ in phần tử; nếu không thì chuyển sang tuyên bố khác. Cuối cùng, chúng tôi sử dụng hai chức năng, tức là, in và đếm. Chức năng đếm đếm các phần tử trùng lặp và hàm in hiển thị đầu ra kết quả trên màn hình bảng điều khiển.

Sau khi viết mã Python của bạn, hãy di chuyển đến menu Tệp và lưu tệp mã của bạn bằng tiện ích mở rộng ‘.py. Trong hình minh họa của chúng tôi, tên tệp là ‘CountDuplicate.py. Bạn có thể chỉ định bất kỳ tên nào cho tệp của bạn.

Bây giờ hãy chạy tệp mã của bạn hoặc chỉ đơn giản là sử dụng khóa F9 F9 để kiểm tra đầu ra của bản sao số Python trong màn hình bảng điều khiển của bạn. Đầu ra là một trong những dự kiến.

Ví dụ 2

Trong ví dụ thứ hai của chúng tôi, chúng tôi sử dụng chức năng sắp xếp và đếm để tìm phần tử trùng lặp trong danh sách Python. Hãy để kiểm tra cách thức hoạt động của mã Python. Hãy cùng vào trình biên dịch Spyder trong Windows 10 và chọn một tệp trống mới hoặc sử dụng cùng một tệp. Chúng tôi đã sử dụng cùng một tệp mã Python trong hình minh họa tiếp theo của chúng tôi, Count CountDuplicate.py, và đã thực hiện các thay đổi. Đây là một cách khác để chứng minh làm thế nào Python tính các bản sao trong danh sách.

Lúc đầu, chúng tôi khởi tạo một danh sách và sử dụng hàm sắp xếp sắp xếp các giá trị ban đầu. Sau đó, chúng tôi sử dụng một vòng lặp cho các câu lệnh nếu được các câu lệnh đi qua danh sách và đếm các phần tử trùng lặp. Nếu hàm đếm đếm bất kỳ phần tử trùng lặp nào, nó được lưu trữ trong ‘sao chép, khi chúng tôi khởi tạo ở trên. Nếu nó có thể tìm thấy bất kỳ yếu tố trùng lặp nào, nó sẽ gọi chức năng ’phụ lục. Cuối cùng, chúng tôi sử dụng chức năng in in các giá trị trùng lặp kết quả được lưu trữ trong ‘trùng lặp.

Một lần nữa, lưu tệp mã Python để thực hiện thêm. Sau đó chạy mã để kiểm tra đầu ra của số lượng python trùng lặp. Sau khi thực hiện chương trình trên, bạn sẽ có được đầu ra kết quả. Đầu ra có thể được xác minh trong hình ảnh đính kèm.

Sự kết luận

Hướng dẫn này đã thảo luận về cách Python đếm các bản sao trong danh sách bằng trình biên dịch Spyder trong Windows 10. Chúng tôi đã thảo luận về hai phương pháp đơn giản nhất để triển khai. Để hiểu rõ hơn, nên thực hiện chúng trên hệ điều hành của bạn. Tôi hy vọng các bạn thấy nó hữu ích.

Thông tin về các Tác giả

Xin chào, tôi là một nhà văn tự do và thường viết cho Linux và các nội dung liên quan đến công nghệ khác

Làm thế nào để bạn đếm các yếu tố lặp đi lặp lại trong Python?

Toán tử.countof [] được sử dụng để đếm số lần xuất hiện của B trong a. Nó đếm số lần xuất hiện của giá trị. Nó trả về số lượng của một số lần xuất hiện của giá trị. countOf[] is used for counting the number of occurrences of b in a. It counts the number of occurrences of value. It returns the Count of a number of occurrences of value.

Làm cách nào để đếm số lượng ký tự lặp lại trong danh sách trong Python?

Python..
chuỗi = "Trách nhiệm lớn" ;.
in ["ký tự trùng lặp trong một chuỗi đã cho:"] ;.
#Count mỗi ký tự có trong chuỗi ..
cho i trong phạm vi [0, len [chuỗi]]:.
Đếm = 1 ;.
cho J trong phạm vi [i+1, len [chuỗi]]:.
if [chuỗi [i] == chuỗi [j] và chuỗi [i]! = '']:.
Đếm = đếm + 1 ;.

Làm thế nào để bạn đếm các bản sao trong một khung dữ liệu trong Python?

Bạn có thể đếm số lượng hàng trùng lặp bằng cách đếm đúng trong gấu trúc.series thu được với trùng lặp [].Số lượng thực sự có thể được tính bằng phương thức Sum [].Nếu bạn muốn đếm số lượng sai [= số lượng hàng không trùng lặp], bạn có thể đảo ngược nó bằng phủ định ~ và sau đó đếm đúng với sum [].counting True in pandas. Series obtained with duplicated[] . The number of True can be counted with sum[] method. If you want to count the number of False [= the number of non-duplicate rows], you can invert it with negation ~ and then count True with sum[] .

Làm thế nào để bạn đếm số lượng các phần tử lặp lại trong một mảng?

Algorithm..
Lấy kích thước của mảng làm đầu vào của người dùng ..
Tuyên bố một mảng có kích thước đã hỏi ..
Tạo một biến số để lưu trữ số lượng của các phần tử trùng lặp trong mảng và khởi tạo nó thành 0 ..
Sử dụng một vòng lặp để điền vào các phần tử vào mảng từ đầu vào của người dùng ..

Bài Viết Liên Quan

Chủ Đề