Python解析语法

解析语法

  • 列表解析
  • 集合解析
  • 字典解析
  • 生成器解析

列表解析

"""
        列表解析语法
        [表达式 for item in 可迭代对象]
"""
lists = [x*2 for x in range(1, 5)]
print(lists)

lists = [x*2 for x in range(1, 50) if x % 5 == 0]    # 只取出可以被5整出的数
print(lists)

cells = [[row, col] for row in range(3) for col in range(3)]
print(cells)


集合解析

"""
        集合解析语法
        {key for item in 可迭代对象}
"""
x = {x*2 for x in range(1, 50) if x % 5 == 0}    # 只取出可以被5整出的数
print(x)


字典解析

"""
        字典解析语法
        {key: value for 表达式 in 可迭代对象}
"""
words = 'Life is short, I love Python'
char_count = {c: words.count(c) for c in words}
print(char_count)


生成器解析

"""
        生成器解析(元组)
"""
gnt = (x for x in range(5))    # gnt是生成器对象, 生成器是可迭代对象, 只能使用一次
print(tuple(gnt))
print(tuple(gnt))

当结果不需要存储在内存中时,生成器语法有特别优势。

你可能感兴趣的:(python基础笔记)