山东大学Python(4)——控制结构

#%%
# 使用 jupyter notebook 编写
"""
本章知识目录:
    本节非常简单,看PPT即可,下面的代码为一些测试
    1.列表推导式
    2.字典推导式
"""

"""
考试:
for循环和if的组合使用
列表推导式
字典推导式(比列表推导式会简单一些)
"""

#%%

# 列表推导式
# 含义解析:
#   关键词for循环后跟的是循环语法,这部分不变;
#   而在for循环真正表达式部分则在列表推导式中移前,运算结果直接添加入列表中。
lst = [i**2 for i in range(5)]
print(lst)
total = sum(lst) 
print(total)
mean = sum(lst) / len(lst)
print(mean)
a = list(range(1, 11))
print(a)
b = [x ** 3 for x in a if x%2 == 0]
print(b)
c = list()
for x in a:
    if x % 2== 0:
        c.append(x ** 3)
print(c)
# if写在前面
a = [1, 2, 3]
b = [i if i%2 == 0 else 1 for i in a]
print(b)
c = []
for i in a:
    temp = i if i%2 == 0 else 1
    c.append(temp)
print(c)
# if写在后面
a = [1, 2, 3]
b = [i for i in a if i%2 == 0]
print(b)
c = []
for i in a:
    if i%2 == 0:
       c.append(i)
print(c)

#%%

# 字典推导式
# 字典推导式多用于需要元素有一一对应关系时,
# 比如当变量是字符型时,需要将字符转换为一一对应的数值型。
for i, j in enumerate(['a', 'b', 'c']):
    print(str(i)+ ',', j)
# enumerate是Python的一个常用内置函数,它用在列表中时,
# 不但会产生列表内的元素,并且会从"0"开始按顺序生成序号。
print(list(enumerate(['d', 'e', 'f'])))
print(list(enumerate(['d', 'e', 'f'], start=1)))
a = ['a', 'b', 'c']
b = dict(enumerate(a)) # 这样是正确的
print(b)
b = dict(list(enumerate(a, start=2))) # 这样也没有问题
print(b)

发布了36 篇原创文章 · 获赞 20 · 访问量 2927

猜你喜欢

转载自blog.csdn.net/weixin_43360801/article/details/103318002