Làm cách nào để bạn in các giá trị âm trong danh sách python?

Trong bài đăng này, chúng ta sẽ tìm hiểu cách thay thế tất cả các số âm bằng 0 trong danh sách Python. Chúng ta sẽ học những cách khác nhau để làm điều đó

Trong phương pháp đầu tiên, tôi sẽ chỉ cho bạn cách thực hiện điều đó bằng một vòng lặp. Sau đó, chúng tôi sẽ chuyển sang một số phương pháp khác nhau như đệ quy để làm điều đó

Phương pháp 1. Thay thế tất cả các số âm bằng 0 trong danh sách Python bằng cách sử dụng vòng lặp

Trước tiên hãy thử điều này bằng cách sử dụng một vòng lặp. Dưới đây là chương trình hoàn chỉnh

given_list = [1, 2, 3, 4, -1, -4, 5, -6]

print[f'List before changes: {given_list}']

for i in range[len[given_list]]:
    if given_list[i] < 0:
        given_list[i] = 0

print[f'List after changes: {given_list}']

Đây,

  • Given_list là danh sách các số đã cho bao gồm cả giá trị dương và âm
  • Chúng tôi đang in danh sách này trước và sau khi thay đổi được thực hiện
  • Vòng lặp for được sử dụng để cập nhật danh sách, i. e. gán 0 cho tất cả các số âm

    • Nó lặp qua từng phần tử danh sách một
    • Nếu nó tìm thấy bất kỳ giá trị nào nhỏ hơn 0, nó sẽ thay đổi giá trị đó thành 0

Nếu bạn chạy chương trình trên, nó sẽ in kết quả bên dưới

List before changes: [1, 2, 3, 4, -1, -4, 5, -6]
List after changes: [1, 2, 3, 4, 0, 0, 5, 0]

Như bạn có thể thấy ở đây, tất cả các số âm được đổi thành 0 trong danh sách

Phương pháp 2. Thay thế tất cả các số âm bằng 0 trong danh sách Python theo cách đệ quy

Chúng ta cũng có thể làm điều đó một cách đệ quy. Một phương thức được gọi là đệ quy nếu nó tự gọi đi gọi lại chính nó để đi đến kết quả cuối cùng

Vì vậy, chúng tôi sẽ viết một phương thức đệ quy sẽ tự gọi đi gọi lại và lặp qua tất cả các số trong danh sách. Trong khi lặp, nó sẽ cập nhật các số nhỏ hơn 0

Dưới đây là chương trình hoàn chỉnh sử dụng phương pháp đệ quy cho cùng một tác vụ

def update_list[l, current_index]:
    if current_index == len[l]:
        return

    if l[current_index] < 0:
        l[current_index] = 0

    update_list[l, current_index+1]


given_list = [1, 2, 3, 4, -1, -4, 5, -6]

print[f'List before changes: {given_list}']

update_list[given_list, 0]

print[f'List after changes: {given_list}']

Đây,

  • update_list là phương thức hoạt động theo cách đệ quy. Nó lấy danh sách và chỉ mục lặp hiện tại làm tham số

    • Nếu chỉ mục lặp hiện tại bằng độ dài của danh sách, tôi. e. nó đang lặp lại ở phần tử cuối cùng của danh sách, nó trả về
    • Nếu giá trị tại chỉ mục lặp hiện tại nhỏ hơn 0, nó sẽ gán 0 cho nó
    • Khác, nó gọi phương thức tương tự bằng cách thêm 1 vào chỉ mục

Nếu bạn chạy chương trình này, nó sẽ cho kết quả tương tự

List before changes: [1, 2, 3, 4, -1, -4, 5, -6]
List after changes: [1, 2, 3, 4, 0, 0, 5, 0]

Phương pháp 3. Thay thế tất cả các số âm bằng 0 trong cách hiểu danh sách Python

Chúng ta có thể sử dụng hiểu danh sách. Hiểu danh sách là một cách ngắn gọn để tạo danh sách và chúng ta có thể thực hiện thao tác tương tự chỉ trong một dòng. Chương trình dưới đây sử dụng hiểu danh sách

given_list = [1, 2, 3, 4, -1, -4, 5, -6]

print[f'List before changes: {given_list}']

given_list = [0 if x < 0 else x for x in given_list]

print[f'List after changes: {given_list}']

Nếu bạn chạy cái này, nó sẽ in ra cùng một đầu ra

List before changes: [1, 2, 3, 4, -1, -4, 5, -6]
List after changes: [1, 2, 3, 4, 0, 0, 5, 0]

Bạn cũng có thể thử các ví dụ này với các loại danh sách khác nhau. Tất cả sẽ cho cùng một đầu ra. Hiểu danh sách là một cách dễ dàng để thực hiện, nhưng bạn có thể chọn bất kỳ phương pháp nào trong số này dựa trên trường hợp sử dụng của mình

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp lại, chúng tôi đặt trước số hiện tại một dấu trừ để thay đổi dấu hiệu của nó

Lưu ý rằng phương pháp này không đủ nếu danh sách của bạn chứa cả số dương và số âm và bạn chỉ muốn nhận danh sách chứa số âm

Trong trường hợp này, bạn phải thêm dấu trừ vào đầu ra của hàm abs[]

Hàm abs trả về giá trị tuyệt đối của một số

Nói cách khác, nếu số dương, số được trả về và nếu số âm, phủ định của số được trả về

Hàm abs[] luôn trả về một số dương, vì vậy để nhận được một số âm, chúng ta chỉ cần đặt trước kết quả một dấu trừ

Để thay thế cho việc sử dụng cách hiểu danh sách, bạn có thể sử dụng vòng lặp for

Chuyển đổi tất cả các số dương trong Danh sách thành số âm bằng cách sử dụng vòng lặp #

Để chuyển đổi tất cả các số dương trong danh sách thành số âm

  1. Sử dụng vòng lặp for để lặp qua danh sách
  2. Tiền tố kết quả của việc gọi abs[] với dấu trừ để thay đổi từng số thành âm
  3. Nối các số âm vào một danh sách mới

Chúng tôi đã sử dụng vòng lặp for để lặp lại danh sách

Trên mỗi lần lặp lại, chúng tôi sử dụng hàm abs[] để lấy phiên bản dương của số và thêm dấu trừ vào trước kết quả để thay đổi nó thành số âm

Danh sách. Phương thức append[] thêm một mục vào cuối danh sách

Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Tôi sẽ sử dụng cách hiểu danh sách vì tôi thấy chúng khá trực tiếp và dễ đọc

Đó là những số âm trong danh sách?

Số âm là số có giá trị luôn nhỏ hơn 0 và có dấu trừ [-] trước. Trên một trục số, các số âm được biểu thị ở phía bên trái của số 0 .

Lập chỉ mục tiêu cực hoạt động như thế nào trong Python?

Lập chỉ mục phủ định được sử dụng trong Python để bắt đầu cắt từ phần cuối của chuỗi i. e. cái cuối cùng . Cắt lát trong Python lấy một chuỗi con từ một chuỗi. Phạm vi cắt được đặt thành tham số i. e. bắt đầu, dừng lại và bước.

Chủ Đề