码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python 最常用的语句、函数有哪些?


     10 个Python编程中新手不知道的“骚操作”,使用的频率超高!记得点赞,收藏哦!话不多说,进入正题!

    1.map 序列映射

    对序列中每一个元素调用指定函数,返回迭代器。

    1. >>> def func(x):
    2. return x ** 2
    3. >>> list(map(func, [1,2,3]))
    4. [1, 4, 9]

    使用 lambda 表达式。

    1. >>> list(map(lambda x: x ** 2, [1, 2, 3]))
    2. [1, 4, 9]

    2.filter 过滤序列

    过滤掉不符合条件的元素,返回迭代器。

    1. >>> def func(x):
    2. return x % 3 == 0
    3. >>> list(filter(func, [1, 2 ,3]))
    4. [3]

    使用 lambda 表达式。

    1. >>> list(filter(lambda x: x % 3 == 0, [1, 2, 3]))
    2. [3]

    3.获取序列组合

    获取两个序列每个元素两两组合的结果。

    1. >>> list1 = ['a', 'b']
    2. >>> list2 = ['1', '2']
    3. >>> [(m, n) for m in list1 for n in list2]
    4. [('a', '1'), ('a', '2'), ('b', '1'), ('b', '2')]
    5. >>> from itertools import product
    6. >>> list(product(list1, list2))
    7. [('a', '1'), ('a', '2'), ('b', '1'), ('b', '2')]

    4.随机选取序列元素

    随机选取序列中的一个元素。

    1. >>> from random import choice
    2. >>> lst = [1, 2, 3, 4]
    3. >>> choice(lst)
    4. 3

    随机选取序列中的多个元素(可重复)。k 值指定数量。

    1. >>> from random import choices
    2. >>> lst = [1, 2, 3, 4]
    3. >>> choices(lst, k=3)
    4. [4, 3, 4]

    随机选取序列中的多个元素(不重复)。k 值指定数量。

    1. >>> from random import sample
    2. >>> lst = [1, 2, 3, 4]
    3. >>> sample(lst, k=3)
    4. [4, 3, 2]

    5.序列元素计数

    统计序列每个元素出现的次数。

    1. >>> from collections import Counter
    2. >>> s = 'python+py'
    3. >>> counter = Counter(s)
    4. >>> counter
    5. Counter({'p': 2, 'y': 2, 't': 1, 'h': 1, 'o': 1, 'n': 1, '+': 1})

    返回的结果类似字典,可以使用字典的相关方法。

    1. >>> counter.keys()
    2. dict_keys(['p', 'y', 't', 'h', 'o', 'n', '+'])
    3. >>> counter.values()
    4. dict_values([2, 2, 1, 1, 1, 1, 1])
    5. >>> counter.items()
    6. dict_items([('p', 2), ('y', 2), ('t', 1), ('h', 1), ('o', 1), ('n', 1), ('+', 1)])

    统计出现次数最多的两个元素。

    1. >>> counter.most_common(2)
    2. [('p', 2), ('y', 2)]

    6.字典排序

    字典按照键(key)降序排序。

    1. >>> dic = {'d': 2, 'c': 1, 'a': 3, 'b': 4}
    2. >>> sort_by_key = sorted(dic.items(), key=lambda x: x[0], reverse=False)
    3. >>> {key: value for key, value in sort_by_key}
    4. {'a': 3, 'b': 4, 'c': 1, 'd': 2}

    字典按照值(value)降序排序。

    1. >>> dic = {'d': 2, 'c': 1, 'a': 3, 'b': 4}
    2. >>> sort_by_value = sorted(dic.items(), key=lambda x: x[1], reverse=False)
    3. >>> {key: value for key, value in sort_by_value}
    4. {'c': 1, 'd': 2, 'a': 3, 'b': 4}

    7.字典合并

    1. >>> dict1 = {'name': '静香', 'age': 18}
    2. >>> dict2 = {'name': '静香', 'sex': 'female'}


    1)update() 更新字典。

    1. >>> dict1.update(dict2)
    2. >>> dict1
    3. {'name': '静香', 'age': 18, 'sex': 'female'}

    2)字典推导式

    1. >>> {k: v for dic in [dict1, dict2] for k, v in dic.items()}
    2. {'name': '静香', 'age': 18, 'sex': 'female'}

    3)元素拼接

    1. >>> dict(list(dict1.items()) + list(dict2.items()))
    2. {'name': '静香', 'age': 18, 'sex': 'female'}

    4)chain() 可以将序列连接,返回可迭代对象。

    1. from itertools import chain
    2. >>> dict(chain(dict1.items(), dict2.items()))
    3. {'name': '静香', 'age': 18, 'sex': 'female'}

    5)collections.ChainMap 可以将多个字典或映射,并将它们合并。

    1. >>> from collections import ChainMap
    2. >>> dict(ChainMap(dict2, dict1))
    3. {'name': '静香', 'age': 18, 'sex': 'female'}

    6)在 Python3.5 以上的版本中,可以通过字典解包进行合并。

    1. >>> {**dict1, **dict2}
    2. {'name': '静香', 'age': 18, 'sex': 'female'}

    8.zip 打包

    zip() 将序列中对应的元素打包成一个个的元组,然后返回由这些元组组成的迭代器。

    如果序列的元素个数不一致,则返回列表长度与最短的对象相同。

    1. >>> list1 = [1, 2, 3]
    2. >>> list2 = [4, 5, 6]
    3. >>> list3 = ['a', 'b', 'c', 'd']
    4. >>> res = zip(list1, list2)
    5. >>> res
    6. <zip object at 0x0000013C13F62200>
    7. >>> list(res)
    8. [(1, 4), (2, 5), (3, 6)]
    9. >>> list(zip(list2, list3))
    10. [(4, 'a'), (5, 'b'), (6, 'c')]

    9.enumerate 遍历

    enumerate 函数可以将可迭代对象组合成一个索引序列,这样遍历时就可以同时获取索引与对应的值。

    1. >>> lst = ['a', 'b', 'c']
    2. >>> for index, char in enumerate(lst):
    3. print(index, char)
    4. 0 a
    5. 1 b
    6. 2 c

    10.any() & all()

    any(iterable)

    • 对于迭代过程中的元素 i,只有所有元素 bool(i) 的结果都为 False,any 的结果才返回 False。
    • 如果迭代是空,返回 False。

    all(iterable)

    • 对于迭代过程中的元素 i,如果存在一个 bool(i) 的结果为 False,则 all 结果返回 False。
    • 如果可迭代对象为空,则返回 True。
    1. >>> any('')
    2. False
    3. >>> any([])
    4. False
    5. >>> any([1, 0, ''])
    6. True
    7. >>> any([0, '', []])
    8. False
    9. >>> all([])
    10. True
    11. >>> all([1, 0, ''])
    12. False
    13. >>> all([1, 2, 3])
    14. True

      最新教程
    2022年hadoop3.x入门

    2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
    2022年大数据spark3.2入门Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
    2022年MySQL基础入门2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程

    Python+大数据开发
    MySQL数据库:2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程
    Hadoop入门:2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
    Hive数仓项目:大数据项目实战教程_大数据企业级离线数据仓库,在线教育项目实战(Hive数仓项目完整流程)

    PB内存计算
    Python入门:全套Python教程_Python基础入门视频教程,零基础小白自学Python必备教程
    Python编程进阶:Python高级语法进阶教程_python多任务及网络编程,从零搭建网站全套教程
    spark3.2从基础到精通:Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
    Hive+Spark离线数仓工业项目实战:全网首次披露大数据Spark离线数仓工业项目实战,Hive+Spark构建企业级大数据平台

  • 相关阅读:
    全局优化的蝴蝶优化算法-附代码
    分布式事务-TCC异常-空回滚
    云端代码编辑器Atheos
    【负荷预测、电价预测】基于神经网络的负荷预测和价格预测附Matlab代码
    latex中appendix附录怎么写
    判断js中变量的类型的方法
    Tomcat 的连接器是如何设计的(上)
    数组降维、函数栈帧、地址空间、可变参数原理剖析
    Day68:49. 字母异位词分组、128. 最长连续序列
    python变量与运算符
  • 原文地址:https://blog.csdn.net/m0_57290404/article/details/126020816
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号