查看“Python 常用语句”的源代码
←
Python 常用语句
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== Dict === Python 字典的顺序问题取决于 Python 的版本: * 3.7 及以后版本,字典保持插入顺序,语言规范特性 * 3.6 CPython 的字典保持插入顺序,非语言规范的一部分,不应该依赖这个行为,因为其他(如 Jython 或 IronPython)可能不保持插入顺序 * 3.5 及更早版本,字典不保持插入顺序。遍历字典时,键值对的顺序是不可预测的 ==== 第一个 Key ==== # d1={'a':1, 'b':2} next(iter(d1)) ==== 最后一个 Key ==== list(d1.keys())[-1] ==== defaultdict ==== 内置字典 dict 的一个子类,可以自动为不存在的键提供一个默认值,从而避免了在访问字典时常见的 KeyError 异常。 <small><nowiki>from collections import defaultdict dd1 = defaultdict(int) dd1['a'] += 1 # 无论 a 是否已经存在,都可以直接累加 dd2 = defaultdict(list) dd2['a'].append(1) # 自动创建一个空列表 dd3 = defaultdict(lambda: {"total": 0, "ok": 0, "err": 0}) dd3['a']['total'] += 1 # 键不存在时,自动调用 lambda 函数,返回字典</nowiki></small> === lambda === lambda 表达式(也称为匿名函数)是一种创建小型、一次性使用的函数的简洁方式。通常用于需要一个简单函数作为参数的场景,例如在 map()、filter()、sorted() 等高阶函数中。 ==== 语法 ==== lambda arguments: expression * arguments: 参数列表,可以有零个或多个参数,用逗号分隔 * expression: 单个表达式,求值并返回 Sample: <small><nowiki>add = lambda x, y: x + y result = add(5, 3) max = lambda a, b: a if a > b else b max(10, 5) # map numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(lambda x: x * x, numbers)) print(squared_numbers) # 输出: [1, 4, 9, 16, 25] # filter numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) # 输出: [2, 4, 6] # sorted(),按元素的长度排序 words = ["apple", "banana", "kiwi", "orange"] sorted_words = sorted(words, key=lambda x: len(x)) print(sorted_words) # 输出: ['kiwi', 'apple', 'orange', 'banana']</nowiki></small> === 动态执行 === 1. eval() 函数用于计算一个 Python 表达式,并取得返回值。 eval(expression) exp = 'lambda x, y: x + y' add = eval(exp) result = add(5, 3) 2. exec() 函数用于执行一段 Python 代码,返回值 None。 exec(Python Code) code = "print('Hello from exec!')" exec(code) # 执行代码 极度危险的例子 code = input("Enter some Python code: ") exec(code) # 用户可以输入 "import os; os.system('ls -l /')" 查看系统信息,恶意用户甚至可以删除整个文件系统! [[分类:Develop]] [[分类:Python]]
返回
Python 常用语句
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
目录
文章分类
侧边栏
帮助
工具
链入页面
相关更改
特殊页面
页面信息