Python 在 List 中查找负数

Python 中要在列表中查找负数:

  1. 使用列表推导来迭代列表。
  2. 检查每个列表项是否小于 0 并返回结果。
  3. 新列表将仅包含负数。
my_list = [-14, 6, -3, 29, -7, 100]


negative_numbers = [
    number for number in my_list
    if number < 0
]
print(negative_numbers) # ?️ [-14, -3, -7]

Python 在 List 中查找负数

我们使用列表推导来迭代列表。

列表推导用于对每个元素执行一些操作或选择满足条件的元素子集。

在每次迭代中,我们检查当前数字是否小于 0 并返回结果。

新列表仅包含满足条件的数字。

或者,我们可以使用 for 循环。


使用 for 循环查找 List 中的负数

要在列表中查找负数:

  1. 使用 for 循环遍历列表。
  2. 检查每个数字是否小于 0。
  3. 将匹配的数字附加到新列表中。
my_list = [-14, 6, -3, 29, -7, 100]

negative_numbers = []

for number in my_list:
    if number < 0:
        negative_numbers.append(number)

print(negative_numbers)  # 👉️ [-14, -3, -7]

我们使用了一个 for 循环来遍历数字列表。

在每次迭代中,我们检查当前数字是否小于 0。

如果满足条件,我们使用 list.append() 方法将项目附加到负数列表中。

list.append() 方法将一个项目添加到列表的末尾。

my_list = ['www', 'zadmei']

my_list.append('com')

print(my_list)  # 👉️ ['www', 'zadmei', 'com']

或者,我们可以使用 filter() 函数。


使用 filter() 查找 List 中的负数

要在列表中查找负数:

  1. 使用 filter() 函数从列表中过滤掉正数。
  2. 使用 list() 类将过滤器对象转换为列表。
my_list = [-14, 6, -3, 29, -7, 100]

negative_numbers = list(filter(lambda x: x < 0, my_list))
print(negative_numbers) # 👉️ [-14, -3, -7]

fileter 函数将一个函数和一个迭代器作为参数,并从迭代器的元素构造一个迭代器,函数为其返回一个真值。

每个列表元素都会调用 lambda 函数,检查数字是否小于 0 并返回结果。

最后一步是使用 list() 类将过滤器对象转换为列表。

选择哪种方法是个人喜好问题。 我会使用列表推导,因为我发现它们很容易阅读、直接和直观。