深入理解Python中的列表推导式(List Comprehensions)(2)

>>> os = ["linux", "ubuntu", "debian", "centos"]
>>> site = ["linuxidc", "uc", "dell", "python"]
>>> mingchen = []
>>> for a in os:
...  for b in site:
...    if b.startswith(a[0]):
...      mingchen.append(a + " " + b)
...
>>> print (mingchen)

深入理解Python中的列表推导式(List Comprehensions)

示例:带有if-else子句的列表推导式

下面的示例将显示列表推导式中if和else语句的用法。

>>> linux_list = [1, 2, 3, 4, 5]
>>> idc_list = [6, 7, 8, 9, 10]
>>> result = [True  if (a + b) % 2 == 0 else False for a in linux_list for b in idc_list]
>>> print (result)

深入理解Python中的列表推导式(List Comprehensions)

在遍历两个列表时,上面的列表理解检查这对元素的总和是否为偶数。 运行上面的代码将为您显示[False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False]作为输出。 不使用列表推导式,代码如下所示:

>>> linux_list = [1, 2, 3, 4, 5]
>>> idc_list = [6, 7, 8, 9, 10]
>>> result = []
>>> for a in linux_list:
...  for b in idc_list:
...    if (a + b) % 2 == 0:
...      result.append(True)
...    else:
...      result.append(False)
...
>>> print (result)

深入理解Python中的列表推导式(List Comprehensions)

总结

列表推导式提供了一种编写简洁循环语句的好方法。但是,如果使用多个循环和条件语句,它们可能很快变得复杂和难以理解。不过编写显式、可读、易于调试的代码是一个好习惯,而不是过度使用缩写。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f58d9e5c0d0d757f8277072946ad8be8.html