Python自学 - 解析入门(一种特殊循环)

1 Python自学 - 解析入门(一种特殊循环)

本文介绍解析的基础知识,以便读者对解析有一个基本的理解,解析可以理解为:对方没有说话,默默的丢过来一个压缩包。

1.1 列表的解析

  • 示例1:基本用法

    py 复制代码
    l = [x for x in range(0,10,2)]  #使用range时指定步长
    print(l) #输出:[0, 2, 4, 6, 8]
  • 示例2:带条件的用法

    py 复制代码
    l = [x for x in range(0,10) if x % 2 == 1] #求奇数队列
    print(l) #输出:[1, 3, 5, 7, 9]
  • 示例3:对成员进行计算,如求平方根

    py 复制代码
    from math import *
    l = [sqrt(x) for x in range(0,5)] #成员求平方根
    print(l) #输出:[0.0, 1.0, 1.4142135623730951, 1.7320508075688772, 2.0]

1.2 其他类型的解析

  • 示例4:解析其他可迭代对象

    py 复制代码
    #场景1:解析列表
    l1 = [1,2,3]
    l2 = [x for x in l1]
    print(l2)  #输出:[1, 2, 3]
    
    #场景2:解析字符串
    str1 = 'str'
    l3 = [x for x in str1]
    print(l3) #输出:['s', 't', 'r']
    
    #场景3:解析元组
    t1 = (1,2,3)
    l4 = [x for x in t1]
    print(l4) #输出:[1, 2, 3]
    
    #场景4:解析字典
    d1 = {'x':1,'y':2}
    l5 = [x for x in d1]
    print(l5) #输出:['x', 'y']
    d5 = {v:k for k,v in d1.items()}  #将字典键值倒换
    print(d5) #输出:{1: 'x', 2: 'y'}
    
    #场景5:解析集合
    s1 = {1,2,3}
    l6 = [x for x in s1]
    print(l6) #输出:[1, 2, 3]
  • 示例5:使用解析生成一个二维列表

    py 复制代码
    l1 = [[i+ j * 5 for i in range(5)] for j in range(3) ]
    print(l1) #输出:[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]
  • 示例6:成员取值放在for前的场景

    py 复制代码
    l = [12, 23, 35, 6, 7]
    l1 = [ '成年' if x >= 18 else '未成年' for x in l]
    print(l1) #输出:['未成年', '成年', '成年', '未成年', '未成年']

🕮说明
  使用解析填充列表比使用循环要节省很多时间。


作者声明:本文用于记录和分享作者的学习心得,水平有限,难免存在表达错误,欢迎交流和指教!

Copyright © 2022~2024 All rights reserved.

相关推荐
Python图像识别12 分钟前
75_基于深度学习的咖啡叶片病害检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
闲人编程15 分钟前
Python游戏开发入门:Pygame实战
开发语言·python·游戏·pygame·毕设·codecapsule
是苏浙22 分钟前
零基础入门C语言之枚举和联合体
c语言·开发语言
报错小能手24 分钟前
C++笔记(面向对象)静态联编和动态联编
开发语言·c++·算法
小肖爱笑不爱笑33 分钟前
2025/11/5 IO流(字节流、字符流、字节缓冲流、字符缓冲流) 计算机存储规则(ASCII、GBK、Unicode)
java·开发语言·算法
手握风云-1 小时前
Java 数据结构第二十八期:反射、枚举以及 lambda 表达式
java·开发语言
ᐇ9591 小时前
Java Vector集合全面解析:线程安全的动态数组
java·开发语言
雍凉明月夜1 小时前
人工智能学习中深度学习之python基础之 类
python·学习
Geo_V1 小时前
OpenAI 大模型 API 使用示例
python·chatgpt·openai·大模型应用·llm 开发
Hello_WOAIAI1 小时前
2.4 python装饰器在 Web 框架和测试中的实战应用
开发语言·前端·python