>>返回主目录
源码
# 列表推导式
# 练习1:快速创建一个包含元素1~10的列表
# 列表推导式前
list_exercise_1 = []
for i in range(1, 11):
list_exercise_1.append(i)
print('1列表推导式前:', list_exercise_1)
# 列表推导式后
list_comprehension_1 = [i for i in range(1, 11)]
print('1列表推导式后:', list_comprehension_1)
# 练习2:快速创建一个包含1~10之间所有偶数的列表
# 列表推导式前
list_exercise_2 = []
for i in range(1, 11):
if i % 2 == 0:
list_exercise_2.append(i)
print('2列表推导式前:', list_exercise_2)
# 列表推导式后
list_comprehension_2 = [i for i in range(1, 11) if i % 2 == 0]
print('2列表推导式后:', list_comprehension_2)
# 练习3:把一个矩阵列表 list_3 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ,展平为一个列表
# 列表推导式前
list_3 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
list_exercise_3 = []
for i in list_3:
for j in i:
list_exercise_3.append(j)
print('3列表推导式前:', list_exercise_3)
# 列表推导式后
list_comprehension_3 = [j for i in list_3 for j in i]
print('3列表推导式后:', list_comprehension_3)
# 练习4:把如上矩阵列表,行列转置输出
# 列表推导式前
list_4 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
list_exercise_out = []
for i in range(len(list_4)):
list_exercise_in = []
for j in list_4:
list_exercise_in.append(j[i])
list_exercise_out.append(list_exercise_in)
print('4列表推导式前:', list_exercise_out)
# 列表推导式后
list_comprehension_4 = [[j[i] for j in list_4] for i in range(len(list_4))]
print('4列表推导式后:', list_comprehension_4)
# 练习5:在1~10之间的数中,不是3的倍数的数取相反数,其余的翻倍
# 列表推导式前
list_exercise_5 = []
for i in range(1, 10):
if i % 3 == 0:
list_exercise_5.append(i * 2)
else:
list_exercise_5.append(-i)
print('5列表推导式前:', list_exercise_5)
# 列表推导式后
list_comprehension_5 = [i * 2 if i % 3 == 0 else -i for i in range(1, 10)]
print('5列表推导式前:', list_comprehension_5)
源码
# 集合推导式
# 练习1:用列表words_list = ['Let', 'us', 'study', 'python', 'together', '!']的所有单词的首字母生成一个集合
words_list = ['Let', 'us', 'study', 'python', 'together', '!']
set_comprehension_1 = {i[0] for i in words_list}
print('1集合推导式后:', set_comprehension_1)
# 练习2:快速创建一个包含1-10之间所有偶数的集合
set_comprehension_2 = {i for i in range(1, 11) if i % 2 == 0}
print('2集合推导式后:', set_comprehension_2)
# 练习3:已知列表list_a = [2, 4, 6, 8] 和 list_b = [1, 3, 5],把list_a中的元素分别与list_b中的元素相加,并生成一个集合
list_a = [2, 4, 6, 8]
list_b = [1, 3, 5]
set_comprehension_3 = {i + j for i in list_a for j in list_b}
print('3集合推导式后:', set_comprehension_3)
源码
# 字典推导式
# 练习:将字典input_dict = {'a': 1, 'b': 2, 'c': 'Python'}中键为c的 key 和 value 进行对换
input_dict = {'a': 1, 'b': 2, 'c': 'Python'}
# 字典推导式前
new_dict = {}
for key, value in input_dict.items():
if key == 'c':
new_dict[value] = key
print('字典推导式前:', new_dict)
# 字典推导式后
dict_comprehension = {value: key for key, value in input_dict.items() if key == 'c'}
print('字典推导式后:', dict_comprehension)