Python学习笔记之列表推导式实例分析

  • 时间:
  • 浏览:25

本文真例报告了Python进修条记之列表推导式。分享给各人供各人参考,详细以下:

列表推导式

列表推导式能够疾速精练天创立列表

之前的庞大写法:

capitalized_cities = []
for city in cities:
  capitalized_cities.append(city.title())

简化后的写法:

capitalized_cities = [city.title() for city in cities]

因而可知:借助列表推导式,我们可使用 for 轮回用1步创立1个列表。

列表推导式中的前提语句:

能够背列表推导式增加前提语句:

squares = [x**2 for x in range(9) if x % 2 == 0]

若是您要增加 else,则需求将前提语句移到列表推导式的开首,间接放正在表达式前面, 以下:

squares = [x**2 if x % 2 == 0 else x + 3 for x in range(9)]

留意:列表推导式并出有正在其他言语中呈现,可是正在 python 中很罕见。

列表推导式[相干操练]

利用列表推导式创立新的列表 first_names,此中仅包括 names 中的名字(小写情势)。

names = ["Rick Sanchez", "Morty Smith", "Summer Smith", "Jerry Smith", "Beth Smith"]
first_names = [name.split(' ')[0].lower() for name in names]
print(first_names) # ['rick', 'morty', 'summer', 'jerry', 'beth']

利用列表推导式创立1个列表 multiples_3,此中包括 1⑵0 那20个整数的 3 的倍数。

multiples_3 = [3 * num for num in range(1, 21)]
print(multiples_3) # [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60]

利用列表推导式创立1个 passed 的姓名列表,此中仅包括得分最少为 65 分的名字。

scores = {
      "Rick Sanchez": 70,
      "Morty Smith": 35,
      "Summer Smith": 82,
      "Jerry Smith": 23,
      "Beth Smith": 98
    }
passed = [name for name, score in scores.items() if score >= 65]
print(passed) # ['Rick Sanchez', 'Beth Smith', 'Summer Smith']

更多闭于Python相干内容可检察本站专题:《Python列表(list)操纵技能总结》、《Python字符串操纵技能汇总》、《Python数据构造取算法教程》、《Python函数利用技能总结》、《Python进门取进阶典范教程》及《Python文件取目次操纵技能汇总》

期望本文所述对各人Python法式设想有所帮忙。