Hướng dẫn how do you check if a value appears more than once in python? - làm cách nào để kiểm tra xem một giá trị có xuất hiện nhiều lần trong python không?

Đối với nhiều lần xuất hiện, điều này cung cấp cho bạn chỉ số của mỗi lần xảy ra:

>>> lst=[1,2,3,4,5,1]
>>> tgt=1
>>> found=[]
>>> for index, suspect in enumerate[lst]:
...     if[tgt==suspect]:
...        found.append[index]
...
>>> print len[found], "found at index:",", ".join[map[str,found]]
2 found at index: 0, 5

Nếu bạn muốn số lượng của từng mục trong danh sách:

>>> lst=[1,2,3,4,5,2,2,1,5,5,5,5,6]
>>> count={}
>>> for item in lst:
...     count[item]=lst.count[item]
...
>>> count
{1: 2, 2: 3, 3: 1, 4: 1, 5: 5, 6: 1}

Kiểm tra các bản sao trong một danh sách bằng cách sử dụng Set & bằng cách so sánh kích thước.

Thêm nội dung của danh sách trong một bộ. Vì tập hợp chỉ chứa các yếu tố duy nhất, do đó sẽ không có bản sao nào được thêm vào tập hợp ..

listOfElems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test']

So sánh kích thước của bộ và danh sách. Nếu kích thước của danh sách & bộ bằng nhau thì điều đó có nghĩa là không có bản sao trong danh sách ..

Làm thế nào để bạn kiểm tra xem một số xuất hiện nhiều hơn một lần trong danh sách Python?

Hàm chung trong danh sách là Danh sách.Count [x] và sẽ trả về số lần x xảy ra trong danh sách.

  1. Làm thế nào để bạn tìm thấy số lượng các giá trị lặp lại trong một danh sách 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ị.
  2. Làm thế nào để bạn kiểm tra xem hai số trong danh sách có giống nhau không?
    • Phương thức python sort [] và == Toán tử để so sánh các danh sách chúng ta có thể câu lạc bộ phương thức python sort [] với toán tử == để so sánh hai danh sách. Phương thức python sort [] được sử dụng để sắp xếp các danh sách đầu vào với mục đích nếu hai danh sách đầu vào bằng nhau, thì các phần tử sẽ nằm ở cùng một vị trí chỉ mục.
    • Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để kiểm tra xem danh sách có chứa bất kỳ yếu tố trùng lặp nào hay không.

Giả sử chúng ta có một danh sách các yếu tố, tức là.

def checkIfDuplicates_1[listOfElems]:
    ''' Check if given list contains any duplicates '''
    if len[listOfElems] == len[set[listOfElems]]:
        return False
    else:
        return True

Bây giờ, hãy để sử dụng chức năng này để kiểm tra xem danh sách của chúng tôi có chứa bất kỳ bản sao nào hay không.

listOfElems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test']

result = checkIfDuplicates_1[listOfElems]

if result:
    print['Yes, list contains duplicates']
else:
    print['No duplicates found in list']    

Đầu ra

Yes, list contains duplicates

Phân tích độ phức tạp của giải pháp này

Trong trường hợp xấu nhất, chúng tôi sẽ thêm tất cả các yếu tố của danh sách trong một tập hợp để thấy rằng danh sách của chúng tôi không chứa bất kỳ bản sao nào. Vì vậy, độ phức tạp trường hợp xấu nhất sẽ là n [log [n]]. Trong trường hợp tốt nhất, chúng ta sẽ biết về trùng lặp ngay khi chúng ta gặp nó trong quá trình lặp lại. Vì vậy, nó sẽ ít hơn nhiều so với n [log [n]].

Hãy cùng nhìn vào một giải pháp khác.n[log[n]]. Comparing size is a O[1] operation. So, complexity of this solution is n[log[n]].

Ngay cả trong kịch bản tốt nhất, tức là nếu danh sách chỉ chứa phần tử được nhân đôi, thì độ phức tạp của giải pháp này sẽ là n [log [n]] vì chúng tôi chỉ thêm tất cả các yếu tố từ danh sách này sang danh sách khác.n[log[n]] because we are just adding all the elements from list to set.

Hãy cùng nhìn vào một giải pháp tốt hơn khác,

Kiểm tra các bản sao trong danh sách bằng cách sử dụng Set và tìm kiếm bản sao đầu tiên

Thay vì thêm tất cả các yếu tố danh sách vào tập hợp và sau đó tìm kiếm các bản sao. Chúng ta có thể thêm các phần tử từng một vào danh sách và trong khi thêm kiểm tra xem nó có được nhân đôi hay không, tức là.

def checkIfDuplicates_2[listOfElems]:
    ''' Check if given list contains any duplicates '''    
    setOfElems = set[]
    for elem in listOfElems:
        if elem in setOfElems:
            return True
        else:
            setOfElems.add[elem]         
    return False

Bây giờ, hãy để sử dụng chức năng này để kiểm tra xem danh sách của chúng tôi có chứa bất kỳ bản sao nào hay không.

listOfElems = ['Hello', 'Ok', 'is', 'Ok', 'test', 'this', 'is', 'a', 'test']

result = checkIfDuplicates_2[listOfElems]

if result:
    print['Yes, list contains duplicates']
else:
    print['No duplicates found in list']    

Đầu ra

Yes, list contains duplicates

Phân tích độ phức tạp của giải pháp này

Trong trường hợp xấu nhất, chúng tôi sẽ thêm tất cả các yếu tố của danh sách trong một tập hợp để thấy rằng danh sách của chúng tôi không chứa bất kỳ bản sao nào. Vì vậy, độ phức tạp trường hợp xấu nhất sẽ là n [log [n]]. Trong trường hợp tốt nhất, chúng ta sẽ biết về trùng lặp ngay khi chúng ta gặp nó trong quá trình lặp lại. Vì vậy, nó sẽ ít hơn nhiều so với n [log [n]].worst case complexity will be n[log[n]].
In best case, we will get to know about duplicate as soon as we encounter it during iteration. So, it will be much lesser than n[log[n]].

Hãy cùng nhìn vào một giải pháp khác.

Kiểm tra xem danh sách có chứa các bản sao bằng danh sách.count []

Lớp danh sách Python cung cấp một phương thức trả về số lượng tần số của một phần tử nhất định trong danh sách,

list.count[element]

Nó trả về số lượng phần tử xuất hiện trong danh sách.

Hãy để sử dụng điều này để kiểm tra các bản sao,

>>> lst=[1,2,3,4,5,2,2,1,5,5,5,5,6]
>>> count={}
>>> for item in lst:
...     count[item]=lst.count[item]
...
>>> count
{1: 2, 2: 3, 3: 1, 4: 1, 5: 5, 6: 1}
0

Ở đây chúng tôi đang lặp lại tất cả các yếu tố của danh sách và kiểm tra số lượng của từng yếu tố trong danh sách. Nếu đếm> 1 thì điều đó có nghĩa là phần tử này có các mục trùng lặp.

Bây giờ, hãy để sử dụng chức năng này để kiểm tra xem danh sách của chúng tôi có chứa bất kỳ bản sao nào hay không.

>>> lst=[1,2,3,4,5,2,2,1,5,5,5,5,6]
>>> count={}
>>> for item in lst:
...     count[item]=lst.count[item]
...
>>> count
{1: 2, 2: 3, 3: 1, 4: 1, 5: 5, 6: 1}
1

Đầu ra

Yes, list contains duplicates

Phân tích độ phức tạp của giải pháp này Đây là giải pháp không hiệu quả nhất cho đến nay với độ phức tạp O [n^2]
This is the most inefficient solution till now with complexity O[n^2]

Ví dụ hoàn chỉnh như sau,

>>> lst=[1,2,3,4,5,2,2,1,5,5,5,5,6]
>>> count={}
>>> for item in lst:
...     count[item]=lst.count[item]
...
>>> count
{1: 2, 2: 3, 3: 1, 4: 1, 5: 5, 6: 1}
3

Output:

>>> lst=[1,2,3,4,5,2,2,1,5,5,5,5,6]
>>> count={}
>>> for item in lst:
...     count[item]=lst.count[item]
...
>>> count
{1: 2, 2: 3, 3: 1, 4: 1, 5: 5, 6: 1}
4

Làm thế nào để bạn kiểm tra xem một giá trị có xuất hiện hai lần trong Python không?

Kiểm tra các bản sao trong một danh sách bằng cách sử dụng Set & bằng cách so sánh kích thước..
Thêm nội dung của danh sách trong một bộ. Vì tập hợp chỉ chứa các yếu tố duy nhất, do đó sẽ không có bản sao nào được thêm vào tập hợp ..
So sánh kích thước của bộ và danh sách. Nếu kích thước của danh sách & bộ bằng nhau thì điều đó có nghĩa là không có bản sao trong danh sách ..

Làm thế nào để bạn kiểm tra xem một số xuất hiện nhiều hơn một lần trong danh sách Python?

Hàm chung trong danh sách là Danh sách.Count [x] và sẽ trả về số lần x xảy ra trong danh sách.list. count[x] , and will return the number of times x occurs in a list.

Làm thế nào để bạn tìm thấy số lượng các giá trị lặp lại trong một danh sách 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 thế nào để bạn kiểm tra xem hai số trong danh sách có giống nhau không?

Phương thức python sort [] và == Toán tử để so sánh các danh sách chúng ta có thể câu lạc bộ phương thức python sort [] với toán tử == để so sánh hai danh sách.Phương thức python sort [] được sử dụng để sắp xếp các danh sách đầu vào với mục đích nếu hai danh sách đầu vào bằng nhau, thì các phần tử sẽ nằm ở cùng một vị trí chỉ mục. to compare lists We can club the Python sort[] method with the == operator to compare two lists. Python sort[] method is used to sort the input lists with a purpose that if the two input lists are equal, then the elements would reside at the same index positions.

Bài Viết Liên Quan

Chủ Đề