Cách tạo danh sách các số lẻ trong Python

Trong blog này, tôi sẽ tìm hiểu bạn cách in các số lẻ trong danh sách bằng python. Chúng ta sẽ nói về chương trình python để in các số lẻ trong danh sách ví dụ. Bài viết này sẽ cung cấp cho bạn ví dụ đơn giản về cách hiển thị số lẻ trong danh sách bằng python

Trong ví dụ này tôi đang sử dụng vòng lặp for và kiểm tra xem num % 2. = 0. Nếu điều kiện thỏa mãn thì chỉ in ra số

Ở đây tôi sẽ cung cấp cho bạn ba ví dụ về chương trình python để in các số lẻ trong danh sách. Vì vậy, hãy xem ví dụ dưới đây

In các số chẵn và số lẻ từ danh sách Python là một bài tập tốt nếu bạn mới bắt đầu với Python và bạn muốn tìm hiểu kiến ​​thức cơ bản về nó

Để trích xuất các số chẵn và số lẻ từ danh sách Python, bạn có thể sử dụng vòng lặp for và toán tử modulo Python. Tùy chọn thứ hai là thay thế vòng lặp for bằng khả năng hiểu danh sách. Cú pháp mở rộng của toán tử lát cũng cho phép thực hiện điều đó với một dòng mã nhưng chỉ khi bạn có danh sách các số liên tiếp

Chúng ta sẽ xem qua một vài ví dụ trong hướng dẫn này và mục đích của việc triển khai nhiều cách để giải quyết cùng một vấn đề là phát triển khả năng sáng tạo mà bạn cần với tư cách là nhà phát triển Python

Bắt đầu nào

Mục lục

Làm cách nào để bạn in các số lẻ từ danh sách bằng Python?

Để in các số lẻ từ danh sách các số, bạn có thể sử dụng toán tử modulo Python, liên quan đến khái niệm toán học về phần dư

Khi bạn chia một số lẻ cho 2, số dư của phép chia là 1. Khi bạn chia một số chẵn cho 2, phần còn lại của phép chia là 0

Hãy sử dụng khái niệm này và vòng lặp Python for để in các số lẻ từ danh sách

def get_odd_numbers[numbers]:
    odd_numbers = []

    for number in numbers:
        if number % 2 == 1:
            odd_numbers.append[number]

    return odd_numbers

Trước khi bắt đầu vòng lặp for, chúng tôi xác định một danh sách trống, sau đó ở mỗi lần lặp lại của vòng lặp for, chúng tôi thêm các số lẻ vào danh sách

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]

Làm thế nào để bạn in các số chẵn từ một danh sách trong Python?

Điều này rất giống với những gì chúng ta đã thấy trong phần trước…

Để in các số chẵn từ danh sách các số, chúng ta có thể trích xuất các số chia cho 2 trả về phần còn lại bằng 0

Mã này giống với mã chúng tôi đã tạo để trích xuất các số lẻ với một sự khác biệt nhỏ trong điều kiện if bên trong vòng lặp for

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers

Và đầu ra của hàm là…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_even_numbers[numbers]]

[output]
[2, 6, 8, 88, 100]

Cách tạo một hàm chia số lẻ và số chẵn trong danh sách

Để tách các số lẻ và số chẵn trong một danh sách, chúng ta có thể sử dụng cùng một cách tiếp cận dựa trên vòng lặp for đã sử dụng trước đó và tạo hai danh sách khác nhau, một cho số lẻ và một cho số chẵn

Thay vì làm điều đó, tôi muốn làm cho mã của chúng tôi ngắn gọn hơn bằng cách sử dụng khả năng hiểu danh sách

Chúng tôi vẫn sẽ sử dụng khái niệm về phần còn lại…

Hãy tạo một hàm cơ bản lấy một danh sách làm đối số và trả về hai danh sách, một danh sách chứa các số lẻ và một danh sách chứa các số chẵn

def split_list_even_odd[numbers]:
    odd_numbers = [number for number in numbers if number % 2 == 1]
    even_numbers = [number for number in numbers if number % 2 == 0]
    return odd_numbers, even_numbers

Lưu ý rằng hàm này trả về hai danh sách Python

Bạn có biết người gọi hàm nhận được những danh sách này ở định dạng nào không?

Hãy cùng tìm hiểu…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[split_list_even_odd[numbers]]

[output]
[[3, 13, 45, 67, 99], [2, 6, 8, 88, 100]]

Người gọi hàm nhận một bộ có hai phần tử. Chúng ta có thể truy cập từng trong số chúng bằng cách sử dụng dấu ngoặc vuông và chỉ mục

print["The odd numbers are {}".format[split_list_even_odd[numbers][0]]]
print["The even numbers are {}".format[split_list_even_odd[numbers][1]]]

[output]
The odd numbers are [3, 13, 45, 67, 99]
The even numbers are [2, 6, 8, 88, 100]                                                                       

Nếu bạn muốn biết thêm về. format[] cú pháp được sử dụng trong câu lệnh in, bạn có thể xem hướng dẫn này về cách nối các chuỗi Python

Chương Trình In Các Số Chẵn Và Lẻ Từ 1 Đến 100

Để in các số chẵn và lẻ từ 1 đến 100, trước tiên chúng ta có thể tạo danh sách các số theo cách thủ công nhưng sẽ mất nhiều thời gian

Thay vào đó, chúng ta sẽ sử dụng hàm range[] của Python

Đây là cách bạn có thể tạo các số từ 1 đến 100 bằng cách sử dụng hàm range[] trong Python

>>> numbers = range[1,101]
>>> print[type[numbers]]

Điều thú vị là loại đối tượng được hàm range[] trả về không phải là một danh sách

Vì vậy, chúng ta có thể làm gì với nó?

Chúng ta vẫn có thể sử dụng vòng lặp for hoặc cách hiểu danh sách để duyệt qua tất cả các số…

________số 8_______

Sử dụng chức năng chúng tôi đã tạo trước đó để in số chẵn và số lẻ

def split_list_even_odd[numbers]:
    odd_numbers = [number for number in numbers if number % 2 == 1]
    even_numbers = [number for number in numbers if number % 2 == 0]
    return odd_numbers, even_numbers


numbers = range[1,101]
print["The odd numbers are {}".format[split_list_even_odd[numbers][0]]]
print["The even numbers are {}".format[split_list_even_odd[numbers][1]]]

[output]
The odd numbers are [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
The even numbers are [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]

Làm cách nào để bạn in các số lẻ từ danh sách các số liên tiếp trong Python?

Cách đơn giản nhất để in các số lẻ từ danh sách các số liên tiếp là sử dụng cú pháp mở rộng của toán tử lát

Toán tử lát trả về một đoạn của danh sách được cung cấp chỉ mục bắt đầu [bao gồm] và chỉ mục kết thúc [không bao gồm]

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
0

Hãy tạo một danh sách chứa các số từ 1 đến 10

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
1

Để lấy 4 phần tử đầu tiên của danh sách với cú pháp toán tử lát tiêu chuẩn, chúng ta có thể sử dụng biểu thức sau

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
2

Ghi chú. như đã đề cập trước khi chỉ mục kết thúc không được bao gồm trong danh sách được trả về bởi toán tử lát cắt

Để lấy lại danh sách đầy đủ bằng toán tử lát, bạn có thể sử dụng cú pháp sau

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
3

Ok, nhưng làm cách nào để điều này giúp chúng tôi chỉ truy xuất các số lẻ?

Để làm được điều đó, chúng ta phải thêm một cái gì đó vào cú pháp cơ bản của toán tử lát cắt, đó là lý do tại sao nó được gọi là cú pháp mở rộng

Với cú pháp mở rộng, bạn có thể chuyển đối số thứ ba cho toán tử lát cắt, đối số này xác định bước giữa các mục sẽ được truy xuất từ ​​danh sách

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
4

Ví dụ: nếu giá trị của bước là 2, toán tử lát cắt sẽ truy xuất cứ sau 2 số

Bây giờ chúng ta đã biết điều này, chúng ta đã sẵn sàng truy xuất các số lẻ từ danh sách của mình…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
5

Về cơ bản, chúng tôi lấy lại danh sách đầy đủ vì chúng tôi chưa cung cấp chỉ mục bắt đầu và kết thúc. Ngoài ra, chúng tôi chỉ nhận được các số lẻ vì chúng tôi đã chỉ định một bước bằng 2

Làm cách nào để bạn in các số chẵn từ danh sách các số liên tiếp trong Python?

Điều này rất giống với những gì chúng ta đã thấy trong phần trước…

Để in các số chẵn từ danh sách các số liên tiếp trong Python, bạn có thể sử dụng cú pháp lát cắt mở rộng với chỉ số bắt đầu bằng 1, chỉ số kết thúc trống và bước bằng 2

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
6

Et voilà

Điều này khá đơn giản khi bạn đã quen với cú pháp của toán tử lát cắt

Chương trình Python để in số chẵn lớn nhất và số lẻ lớn nhất trong danh sách

Để in số chẵn và số lẻ lớn nhất trong danh sách Python, chúng ta có thể bắt đầu từ các khái niệm mà chúng ta đã thấy trước đây liên quan đến toán tử lát

Điều bổ sung mà chúng ta phải làm là áp dụng hàm max[] cho danh sách được trả về bởi toán tử lát cắt

Số Lẻ Lớn Nhất

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
7

Số chẵn lớn nhất

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
8

Đẹp và đơn giản 🙂

Phát triển chương trình Python đếm số chẵn và số lẻ trong danh sách do người dùng cung cấp

Trước khi hoàn thành hướng dẫn này, hãy xem cách chúng ta có thể sử dụng hàm nhập Python để lấy danh sách các số từ đầu vào của người dùng

Trước hết, tôi muốn xem loại dữ liệu nào chúng tôi nhận được từ đầu vào của người dùng

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print[get_odd_numbers[numbers]]

[output]
[3, 13, 45, 67, 99]
9

Đầu vào của người dùng là một chuỗi đơn, vì vậy chúng tôi phải thực hiện một chút thao tác chuỗi để chuyển đổi nó thành danh sách trước

Phương thức tách chuỗi Python[] cho phép chuyển đổi một chuỗi thành một danh sách

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers
0

Đó là một bước tiến, nhưng chúng tôi vẫn có một danh sách các chuỗi và thay vào đó chúng tôi muốn có một danh sách các số nguyên

Có thể sử dụng cách hiểu danh sách và hàm int[] của Python để chuyển đổi danh sách chuỗi thành danh sách số nguyên

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers
1

Đẹp 🙂

Và bây giờ chúng ta đã sẵn sàng để tạo hàm chuyển đổi chuỗi do người dùng cung cấp thành danh sách các số nguyên

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers
2

Sau khi chuyển đổi đầu vào của người dùng thành danh sách các số nguyên, chúng ta có thể gọi hàm split_list_even_odd[] đã tạo trước đó

Đây là chương trình đầy đủ

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers
3

Hãy thực hiện chương trình của chúng ta…

def get_even_numbers[numbers]:
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append[number]

    return even_numbers
4

Nó hoạt động

Phần kết luận

Nếu bạn có bất kỳ nghi ngờ nào về việc trích xuất các số chẵn và lẻ từ danh sách Python trước khi đọc bài viết này…

…bây giờ bạn đã có tất cả kiến ​​thức cần thiết để làm điều đó

Nếu bạn cảm thấy một số điều vẫn chưa rõ ràng, hãy quay lại và tự mình viết lại các ví dụ trong hướng dẫn này từ đầu

Thực hành là cách tốt nhất để học và ghi nhớ các cấu trúc Python

Mã hóa vui vẻ. 😀

Bài viết liên quan

Lỗi Python. Quá nhiều giá trị để giải nén. Hãy sửa chữa nó

Cách đảo ngược chuỗi Python. Cải thiện kỹ năng Python của bạn

Làm cách nào để mở trình duyệt web bằng Python?

Claudio Sabato

Tôi là Trưởng nhóm công nghệ, Kỹ sư phần mềm và Huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành Nhà phát triển siêu hạng

Chủ Đề