# 1. 使用列表生成式创建一个包含1到20的平方的列表nums
# - 获取nums中前3个元素
# - 获取nums中奇数下标上的所有元素
# - 在nums的下标为5的位置处添加一个88
nums = [i ** 2 for i in range(1, 21)]
print(nums)
print(nums[:3])
print(nums[1::2])
nums.insert(5, 88)
print(nums)
# 2. 使用列表生成式创建一个包含1到20之间所有偶数的平方的列表。
print([i**2 for i in range(1, 21) if i % 2 == 0])
# 3. 使用列表生成式创建一个包含1到10之间所有奇数的倒数的列表。
print([1/i for i in range(1, 21) if i % 2 == 1])
# 4. 使用列表生成式创建一个包含1到20之间所有能被3整除的数的平方的列表。
print([i**2 for i in range(1, 21) if i % 3 == 0])
# 5. 使用列表生成式创建一个包含10到100之间所有十位数为偶数的数的平方的列表。
print([i**2 for i in range(10, 101) if (i // 10 % 10) % 2 == 0])
# 6. 使用列表生成式创建一个包含1到20之间所有能被7整除的数的立方加上1的列表。
print([i**3 + 1 for i in range(1, 21) if i % 7 == 0])
# 7. 使用列表生成式创建一个包含1到20之间所有个位数和十位数相等的数的平方根的列表。
print([i**(1/2) for i in range(1, 21) if i // 10 % 10 == i % 10])
# 8. 使用列表生成式创建一个包含1到20之间所有能被3和5同时整除的数的平方的列表。
print([i**2 for i in range(1, 21) if i % 15 == 0])
# 9. 使用列表生成式创建一个包含1到20之间所有十位数比个位数大2的数的列表。
print([i for i in range(1, 21) if (i // 10 % 10) - (i % 10) == 2])
# 10. `scores = [19, 27, 38, 41, 56, 72, 28, 65] `
# - 获取最大值所在的位置
# - 获取所有的偶数和
scores = [19, 27, 38, 41, 56, 72, 28, 65]
max_value = max(scores)
print(max_value)
print([i for i in range(len(scores)) if scores[i] == max_value])
print(sum([ele for ele in scores if ele % 2 == 0]))