Hướng dẫn sort positive and negative numbers in python - sắp xếp số dương và số âm trong python

Khi cố gắng học Python bằng cách thực hành, tôi đang cố gắng thực hiện và kiểm tra thuật toán sắp xếp nhanh bằng cách sử dụng Python.

Bản thân việc thực hiện không khó, tuy nhiên kết quả của loại có phần khó hiểu:

Khi tôi sắp xếp một danh sách

['35', '-1', '-2', '-7', '-8', '-3', '-4', '20', '-6', '53']

Kết quả cho tôi

['-1', '-2', '-3', '-4', '-6', '-7', '-8', '20', '35', '53']

Vì vậy, danh sách được sắp xếp tuy nhiên các số nguyên âm được sắp xếp theo thứ tự ngược lại.

Tôi nghi ngờ đây có thể là vấn đề với thực tế là tôi đang sắp xếp một danh sách các int được đọc từ một tệp và loại int thực sự không phải là int mà là một cái gì đó khác [có lẽ là chuỗi.] vấn đề này?

Đây là mã để triển khai Quicksort

#quicksort -> the conquer part of the algorithm
def quicksort[input_list, start_index, end_index]:
    if start_index < end_index:
        #partition the list of integers.
        pivot = partition[input_list, start_index, end_index]
        #recursive call on both sides of the pivot, that is excluding the pivot itself
        quicksort[input_list, start_index, pivot-1]
        quicksort[input_list, pivot+1, end_index]
    return input_list

#divide part of the algorithm
def partition[input_list, start_index, end_index]:
    #declare variables required for sorting
    pivot = input_list[start_index]
    left = start_index + 1
    right = end_index
    sorted = False

    while not sorted:
        #break condition so that left index is crossed with right index
        #or if the value of left crosses the pivot value
        while left = pivot:
            right = right-1
        if right < left:
            sorted = True
        else:
            #swap places for left value and the right value cause they are not in order
            temp = input_list[left]
            input_list[left] = input_list[right]
            input_list[right] = temp
    #swap the value at start index with what's now at the right half. Then return right for the new pivot
    temp = input_list[start_index]
    input_list[start_index] = input_list[right]
    input_list[right] = temp
    return right

Bất kỳ sự giúp đỡ được đánh giá cao. Cảm ơn tất cả các bạn đã dành thời gian và sự giúp đỡ của bạn.

Xin chào, tôi đang cố gắng sắp xếp "danh sách 'các giá trị chứa cả số âm và dương. Tôi đang cố gắng sắp xếp theo thứ tự số từ ít nhất đến giá trị lớn nhất bằng cách sử dụng đôi cho vòng lặp và trao đổi các biến. Tuy nhiên, tôi đã chạy vào một số lỗi khi chạy mã của tôi và tôi nghĩ đó là do các giá trị âm trong mảng "danh sách". Làm thế nào để tôi gặp phải vấn đề này?

Đây là mã python của tôi mà tôi đã viết cho đến nay:

numbers = [11.5, 28.3, 23.5, -4.8, 15.9, -63.1, 79.4, 80.0, 0, 67.4, -11.9, 32.6]

length_numbers = len[numbers]

for i in numbers:
  for j in range [0, length_numbers]:
    
    if numbers[j] > numbers[j+1]:
      temp = numbers[j]
      numbers[j] = numbers[j+1]
      numbers[j+1] = temp

print[numbers]

Bài viết: 11.42111,421

Chủ đề: 435435

Tham gia: Tháng 9 năm 2016Sep 2016

Danh tiếng: 441 441

chỉ dùng:

>>> numbers = [11.5, 28.3, 23.5, -4.8, 15.9, -63.1, 79.4, 80.0, 0, 67.4, -11.9, 32.6]
>>> numbers.sort[]
>>> numbers
[-63.1, -11.9, -4.8, 0, 11.5, 15.9, 23.5, 28.3, 32.6, 67.4, 79.4, 80.0]
>>>

Bài viết: 1.2571,257

Chủ đề: 22

Tham gia: Tháng 5 năm 2019May 2019

Danh tiếng: 85 85

Nhưng nếu bạn đang cố gắng tìm hiểu về việc viết một loại bong bóng, lỗi của bạn nằm ở dòng 6. Vì bạn đang so sánh các số [j] với số [j+1] Số truy cập [J+1]. Thay đổi dòng 6 thành

for j in range [0,length_numbers-1]:

Và nó hoạt động tốt.

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:40 [UTC/GMT +8 giờ]

Python Lambda: Bài tập-12 với giải pháp

Viết một chương trình Python để sắp xếp lại các số dương và âm trong một mảng nhất định bằng Lambda.

Giải pháp mẫu::

Mã Python:

array_nums = [-1, 2, -3, 5, 7, 8, 9, -10]
print["Original arrays:"]
print[array_nums]
result = sorted[array_nums, key = lambda i: 0 if i == 0 else -1 / i]
print["\nRearrange positive and negative numbers of the said array:"]
print[result]

Đầu ra mẫu:

Original arrays:
[-1, 2, -3, 5, 7, 8, 9, -10]

Rearrange positive and negative numbers of the said array:
[2, 5, 7, 8, 9, -10, -3, -1]

Trực quan hóa thực thi mã Python:

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực hiện chương trình đã nói:

Trình chỉnh sửa mã Python:

Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn [và nhận xét] thông qua Disqus.

Trước đây: Viết chương trình Python để tìm giao điểm của hai mảng đã cho bằng Lambda.next: Viết chương trình Python để đếm số chẵn, số lẻ trong một mảng số nguyên nhất định sử dụng Lambda. Write a Python program to find intersection of two given arrays using Lambda.
Next: Write a Python program to count the even, odd numbers in a given array of integers using Lambda.

Python: Lời khuyên trong ngày

Một khối �if-elif� có thể tồn tại mà không có khối khác ở cuối

Tuy nhiên, �Elif không thể tự đứng mà không có bước �IF� trước khi nó:

def check_number[number]:
    if number > 0:
        return "Positive"
    elif number == 0:
        return "Zero"

    return "Negative"


print[check_number[1]]  # Positive

Tham khảo: //bit.ly/3ndmjen


Làm thế nào để bạn sắp xếp các số nguyên tích cực và tiêu cực?

Đưa ra một mảng các số dương và âm, sắp xếp chúng sao cho tất cả các số nguyên âm xuất hiện trước tất cả các số nguyên dương trong mảng mà không sử dụng bất kỳ cấu trúc dữ liệu bổ sung nào như bảng băm, mảng, v.v ... Nên duy trì thứ tự xuất hiện.arrange them such that all negative integers appear before all the positive integers in the array without using any additional data structure like a hash table, arrays, etc. The order of appearance should be maintained.

Làm thế nào để bạn sắp xếp các số dương trong Python?

Sử dụng cách tiếp cận vũ phu để chỉ sắp xếp các số dương trong mảng.Trước tiên chúng tôi sẽ lọc ra các số dương từ mảng đã cho và sắp xếp chúng theo thứ tự bắt buộc.Sau đó, chúng tôi sẽ sử dụng một mảng temp để lưu trữ mảng được sắp xếp và biến bổ sung để theo dõi các phần tử của mảng tích cực được lọc và sắp xếp.first filter out the positive numbers from the given array and sort them in required order. After that we will use a temp array to store the sorted array and extra variable to track the elements of the filtered and sorted positive array.

Làm thế nào để bạn sắp xếp các con số trong Python?

Hàm python sort [] hàm Sắp xếp [] Trả về một danh sách được sắp xếp của đối tượng có thể lặp lại được chỉ định.Bạn có thể chỉ định thứ tự tăng dần hoặc giảm dần.Chuỗi được sắp xếp theo thứ tự bảng chữ cái, và các số được sắp xếp bằng số.sorted[] Function The sorted[] function returns a sorted list of the specified iterable object. You can specify ascending or descending order. Strings are sorted alphabetically, and numbers are sorted numerically.

Làm thế nào để bạn phân tách một số dương và âm trong một mảng?

# Thuật toán chuyển mảng đã cho đến hàm để sắp xếp lại các phần tử mảng.Lặp lại thông qua mảng và tìm phần tử âm trong mảng và thay thế nó bằng phần tử dương đầu tiên gặp phải.Sau đó trao đổi các yếu tố và tiếp tục quá trình cho tất cả các yếu tố tiêu cực.Pass the given array to the function to rearrange the array elements. Iterate through the array and find the negative element in the array and replace it with the first encountered positive element. Then swap the elements and continue the process for all the negative elements.

Bài Viết Liên Quan

Chủ Đề