代码
# array 数组
import array
# array 和list 的区别
"""
1. array 只能存放指定的数据类型
2. array 的效率比list高
"""
# "i" 指定int类型
my_array = array.array("i")
my_array.append(1)
# my_array.append("abc") # TypeError: an integer is required (got type str)
print(my_array)
# 列表生成式(列表推导式),一行代码生成一个列表
# 1. 提取出1-20之间的奇数
odd_list = [i for i in range(21) if i % 2 == 1]
print(odd_list)
# 2. 逻辑复杂的情况
def hadle_item(item):
return item * item
# 列表生成式 性能高于列表操作
odd_list = [hadle_item(i) for i in range(21) if i % 2 == 1]
print(odd_list, type(odd_list)) # [1, 9, 25, 49, 81, 121, 169, 225, 289, 361] <class 'list'>
# 生成器表达式
odd_gen = (i for i in range(21) if i % 2 == 1)
print(odd_gen, type(odd_gen)) # <generator object <genexpr> at 0x000001519759DBA0> <class 'generator'>
# 字典推导式
my_dict = {"name": "xf", "age": 18, "sex": "男"}
# 反转key 和value的关系
reversed_dict = {value:key for key, value in my_dict.items()}
print(reversed_dict) # {'xf': 'name', 18: 'age', '男': 'sex'}
# 集合推导式
my_set = {key for key, value in my_dict.items()}
print(my_set, type(my_set)) # {'age', 'sex', 'name'} <class 'set'>