_ score可以在Python中的任何位置用作变量名,例如:

_ = 10
print(_)

但是,此处不接受:

d = dict(john = 10, owen=12, jenny=13)
match d:
    case {'john' : 10, 'jenny': _}:
        print('does not work', _)
ERROR: print('does not work', _)
NameError: name '_' is not defined

然而,完全可以按如下方式使用:

d = dict(john = 10, owen=12, jenny=13)
match d:
    case {'john' : 10, 'jenny': a}:
        print('does not work', a)

为什么在Python 3.10的新匹配中,_不是有效的变量名?

推荐答案

在匹配语句中,_wildcard pattern.它匹配任何内容,而不绑定任何名称,因此您可以在同一个case中多次使用它,而不必为您不关心的多个值想出一堆不同的名称.

Python相关问答推荐

为什么我的sundaram筛这么低效

我对这个简单的异步者的例子有什么错误的理解吗?

删除另一个div中的特定div容器

更新包含整数范围的列表中的第一个元素

如何在包含时间戳的词典列表中找到每天的第一个时间?

Python-迭代PANAS中的数据框并替换列表中不包含字符串的值

如何在pandas DataFrame列中保持一个只增加的数字序列?

使用极轴 Select 一系列柱

如果属性的类型是联合并使用默认值,为什么属性不能与类同名?

每像素级图像处理的毕达式优化

Pandas 多重索引不返回级别和标签

PyInstaller:添加二进制和数据文件时找不到';/usr/sbin/neato

导入pythoncom如何找到正确的文件?

真正的Python散布函数

使用";ElementTree";库将给定的表达式替换为XML文件中的值后打印数据

删除一个元素后,在这个最长的1子数组中出现了什么问题

我怎样才能用python打印一个 map 对象?

NetCDF:使用MSWEP再分析数据集计算沿所有坐标的年降水量总和

不理解它怎么会是索引错误:列出索引超出范围

加快滚动总和计算速度?