编程小白python解析式学习小结

一、python解析式

1.python解析式的优势

  • 代码简洁,可读性强
  • 效率比普通迭代稍高

2.基本语法

①:[expression for i in iterable]
expression:表示可执行语句。
i :表示变量。
iterable:表示可迭代对象。
[ ]:表示用列表容器装载数据。
②:[expression for i in iterable if…]
expression:表示可执行语句。
iterable:表示可迭代对象。
[ ]:表示用列表容器装载数据。
if…:表示前提条件语句。

3.列表解析式

#一般式输出
list1 = []
for i in range(6):
    list1.append(i)
print(list1)

#使用列表解析式输出
list2 = [i for i in range(6)]
print(list2)

#使用列表解析式并添加筛选条件
list3 = [i*2 for i in range(1,11) if i*2 > 10]
print(list3)

输出结果为:

[0, 1, 2, 3, 4, 5]  #list1的输出结果
[0, 1, 2, 3, 4, 5]  #list2的输出结果
[12, 14, 16, 18, 20]#list3筛选后输出的结果

4.嵌套循环列表解析式

#一般方式输出
lists1 = []
for i in range(3):
    for j in range(3):
        lists1.append([i,j])
print(lists1)

#列表解析式输出
lists2 = [[i,j] for i in range(3) for j in range(3)]
print(lists2)

输出结果为:

[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]#lists1输出结果
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]#lists2输出结果

5.解析式特殊用法

语法:“expression① if 条件: elae expression② for i in iterable”

#一般方式输出
list1 = []
for i in range(10):
    if i % 2 ==0:
        list1.append(i**2)
    else:
        list1.append(i**3)
print(list1)

#列表解析式体检筛选输出  语法:"expression① if 条件: elae expression② for i in iterable"
list2 = [i**2 if i % 2 ==0 else i**3 for i in range(10)]
print(list2)

输出结果为:

[0, 1, 4, 27, 16, 125, 36, 343, 64, 729]#lists1输出结果
[0, 1, 4, 27, 16, 125, 36, 343, 64, 729]#lists2输出结果

6.集合解析式

集合解析式与列表解析式类似,如下只做一个简单的基础操作代码。

#一般方式输出
set1 = set()
for i in range(10):
    if i > 7:
        set1.add(i)
print(f"{set1}数据类型为{type(set1)}")
#列表解析式体检筛选输出  
set2 = {i for i in range(10) if i > 7}
print(f"{set2}数据类型为{type(set2)}")

输出结果为:

{8, 9}数据类型为<class 'set'>
{8, 9}数据类型为<class 'set'>

7.字典解析式

字典解析式与列表解析式类似,如下只做一个简单的基础操作代码。

#一般方式输出
dict1 = {'language1': 'python', 'language2': 'java', 'language3': 'c'}
dict2 = {}
for key, value in dict1.items():
    if key == 'language1':
        dict2[key] = value
print(dict2)

#字典解析式输出
dict3 = {'language1':'python', 'language2':'java','language3':'c'}
dict4 = {key: value for key, value in dict3.items() if key == 'language1'}
print(dict4)

输出结果为:

{'language1': 'python'} #dict2输出结果
{'language1': 'python'} #dict3输出结果

点赞加关注,关注小白,收藏更多python知识。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值