Hướng dẫn python add to array if not null - python thêm vào mảng nếu không null

Tôi có chức năng mà nó đang tìm kiếm một cái gì đó và có thể không trả lại bất cứ điều gì. Tôi muốn nối nó vào mảng nhưng chỉ khi nó trả về một cái gì đó

Mã giả

def fu():
    if sometring:
        return result

a = []
a.append(fu())

Bây giờ nếu hàm này không trả về giá trị, nó sẽ nối "Không" vào mảng [result1, None, result2,etc], làm thế nào để tránh điều đó?

Hướng dẫn python add to array if not null - python thêm vào mảng nếu không null

Chris martin

Phim huy hiệu vàng 29,8k88 gold badges75 silver badges132 bronze badges

Khi được hỏi ngày 20 tháng 5 năm 2016 lúc 16:24May 20, 2016 at 16:24

2

Một hàm tự động trả về None nếu bạn không có câu lệnh trả về. Để tránh nối lại None vào danh sách, hãy kiểm tra trước khi nối thêm.

result = f()
if result:
    a.append(result)

Hoặc sử dụng

result = f()
if result:
    a.append(result)
0 để lọc ra None cuối cùng.

a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]

Đã trả lời ngày 20 tháng 5 năm 2016 lúc 16:30May 20, 2016 at 16:30

Hướng dẫn python add to array if not null - python thêm vào mảng nếu không null

SparkandshinesparkandshineSparkAndShine

16.2K21 Huy hiệu vàng87 Huy hiệu bạc130 Huy hiệu đồng21 gold badges87 silver badges130 bronze badges

3

Nối vào danh sách nếu không có ai trong Python #

Chỉ nối một giá trị vào danh sách chỉ nếu không có:

  1. Kiểm tra xem giá trị không phải là None.
  2. Nếu điều kiện được đáp ứng, hãy sử dụng phương thức
    result = f()
    if result:
        a.append(result)
    
    3 để thêm giá trị vào danh sách.

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']

Trước tiên chúng tôi kiểm tra xem giá trị không phải là None.

Bạn nên sử dụng toán tử

result = f()
if result:
    a.append(result)
5 khi bạn cần kiểm tra xem một biến có lưu trữ giá trị None không.

Khi chúng tôi sử dụng

result = f()
if result:
    a.append(result)
5, chúng tôi kiểm tra danh tính của đối tượng.

Hướng dẫn theo phong cách PEP 8 đề cập rằng so sánh với các đơn lẻ như None phải luôn luôn được thực hiện với

result = f()
if result:
    a.append(result)
5 hoặc
a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]
0, và không bao giờ là nhà khai thác bình đẳng.

Sử dụng các toán tử bình đẳng (bằng

a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]
1 và không bằng
a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]
2) khi bạn cần kiểm tra xem giá trị có bằng với giá trị khác không, ví dụ:
a = [1, 2, None, 3]
a = filter(None, a)

print(a)
# Output
[1, 2, 3]
3.

Nếu giá trị không phải là None, chúng tôi sử dụng phương thức

result = f()
if result:
    a.append(result)
3 để thêm nó.

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple']

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

Phương thức trả về None khi nó đột biến danh sách ban đầu.

Nếu bạn có một danh sách chứa các giá trị None và bạn cần lọc chúng ra, hãy sử dụng danh sách hiểu.

Copied!

my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']

Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.

Trên mỗi lần lặp, chúng tôi kiểm tra xem mục hiện tại là None và trả về kết quả.

Danh sách mới không chứa bất kỳ giá trị None nào.

Danh sách hiểu không thay đổi danh sách ban đầu, nó trả về một danh sách mới.

Nếu bạn cần xóa các giá trị None khỏi danh sách ban đầu, hãy sử dụng vòng lặp

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
1.

Copied!

my_list = ['apple', None, 'banana', None] for item in my_list.copy(): if item is None: my_list.remove(item) print(my_list) # 👉️ ['apple', 'banana']

Chúng tôi đã sử dụng phương thức

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
2 để có được một bản sao của danh sách.

Phương thức danh sách.Copy trả về một bản sao nông của đối tượng mà phương thức được gọi.

Điều này là cần thiết bởi vì chúng tôi không được phép loại bỏ các phần tử khỏi danh sách trong khi lặp lại nó.

Tuy nhiên, chúng tôi có thể lặp lại một bản sao của danh sách và xóa các yếu tố khỏi danh sách ban đầu.

Trên mỗi lần lặp, chúng tôi kiểm tra xem mục hiện tại là None và sử dụng phương thức

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
4 để loại bỏ các phần tử phù hợp.

Phương thức Danh sách.Remove () xóa mục đầu tiên khỏi danh sách có giá trị bằng với đối số được truyền.

Phương pháp

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
5 làm thay đổi danh sách ban đầu và trả về None.

Điều quan trọng nhất cần lưu ý khi xóa các mục khỏi danh sách trong khi lặp lại là sử dụng phương thức

Copied!

my_list = [] value = 'apple' # ✅ append to list only if not None if value is not None: my_list.append(value) print(my_list) # 👉️ ['apple'] # ----------------------------- # ✅ filter out all None values from list my_list = ['apple', None, 'banana', None] new_list = [i for i in my_list if i is not None] print(new_list) # 👉️ ['apple', 'banana']
2 để lặp lại một bản sao của danh sách.

Nếu bạn cố gắng loại bỏ các phần tử khỏi danh sách ban đầu trong khi lặp lại nó, bạn có thể gặp khó khăn để xác định vị trí lỗi.