首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Day9-字符串-字符模式匹配

str与pattern匹配代表字符串str中的单词与pattern中的字符一一对应。(其中pattern中只包含小写字符,str中 的单词只包含小写字符,使用空格分隔。)...pattern字符也不能出现过 3.单词的个数必须与pattern中字符的数量相同 那么问题来了,我们怎么将一个单词和一个字符绑定在一起呢?...//it指向了hash_map printf("hash_map[%s] = %d\n", it->first.c_str(), it->second);//it->first就是当前的映射的第一个元素...word时,find函数返回的迭代器指针,与end函数返回的迭代器指针相同,即,当该单词从未出现在哈希map中 if (used[pattern[position]]){...used数组 } else {//若find函数返回的迭代器指针不等于end函数返回的迭代器指针,即哈希map中已找到了该单词,即当前单词已与单个字符建立映射

61930

快速入门-Python基础知识

"I love 'python'" 2.2.1 字符串的简单运算 下面介绍字符串的简单运算。 title() title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。...3.4 切片 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。...结合使用位置实参和任意数量实参 如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python 先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。...使用任意数量的关键字实参 有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。...self 是一个指向实例本身的引用,让实例能够访问类中的属性和方法。 还可以通过实例直接访问属性:my_cat.name。但在其他语言中并不建议这样做。

2.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    0基础小白想学Python不知道怎么入门从何学起?十分钟带你快速入门 Python(初学者必看,收藏必备!!!)

    "I love 'python'" 2.2.1 字符串的简单运算 下面介绍字符串的简单运算。 title() title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。...a>10 上面的例子打印出了 cat 的所有键,用字符串的 title() 方法使每个单词的首字母大写。...结合使用位置实参和任意数量实参 如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python 先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。...使用任意数量的关键字实参 有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。...self 是一个指向实例本身的引用,让实例能够访问类中的属性和方法。 还可以通过实例直接访问属性:my_cat.name。但在其他语言中并不建议这样做。

    3.2K10

    如何在 Linux 上安装友好的交互式 shell:Fish

    Fish 有着很多重要的功能,比如自动建议、语法高亮、可搜索的历史记录(像在 bash 中 CTRL+r)、智能搜索功能、极好的 VGA 颜色支持、基于 web 的设置方式、完善的手册页和许多开箱即用的功能...安装 Fish 尽管 fish 是一个非常用户友好的并且功能丰富的 shell,但并没有包括在大多数 Linux 发行版的默认仓库中。...自动建议 当我输入一个命令,它以浅灰色自动建议一个命令。所以,我需要输入一个 Linux 命令的前几个字母,然后按下 键来完成这个命令。 如果有更多的可能性,它将会列出它们。...例如,我输入一个命令的一部分,然后按向下箭头键进行智能搜索,再次输入一个字母来从列表中选择所需的命令。 语法高亮 当你输入一个命令时,你将注意到语法高亮。...基于 web 的配置方式 这是 fish shell 另一个很酷的功能。我们可以设置我们的颜色、更改 fish 提示符,并从网页上查看所有功能、变量、历史记录、键绑定。

    1.7K70

    十分钟快速入门 Python,看完即会,不用收藏!

    "I love 'python'" 2.2.1 字符串的简单运算 下面介绍字符串的简单运算。 title() title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。...3.4 切片 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。...结合使用位置实参和任意数量实参 如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python 先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。...使用任意数量的关键字实参 有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。...self 是一个指向实例本身的引用,让实例能够访问类中的属性和方法。 还可以通过实例直接访问属性:my_cat.name。但在其他语言中并不建议这样做。

    3K30

    C++系列笔记(十一)

    调用erase函数时将键作为参数,这将删除包含指定键的所有键-值对: mapObject.erase(key); erase函数的另一种版本接受迭代器作为参数,并删除迭代器指向的元素: mapObject.erase...(); 要获悉键对应的索引,可调用该散列函数,并将键传递给它: size_t HashingValue1000=HFn(1000); 理解函数对象 一元函数:接受一个参数的函数,如f(x)。...如果一元函数返回一个布尔值,则该函数称为谓词。 二元函数:接受两个参数的函数,如 f(x, y)。如果二元函数返回一个布尔值,则该函数称为二元谓词。...表达式 二元函数接受两个参数,还可返回一个值。...:第一个是要打开的文件的路径和名称(如果没有提供路径,将假定为应用程序的当前目录设置),第二个是文件的打开模式。

    1.3K20

    专为 90 后定制的 Shell, 我倒要看看有啥不一样!!!

    无效命令默认高亮为红色 对于有效路径会有下划线提示 不匹配的括号或者逗号 3.2 自动补全建议 Fish Shell 自带 命令补全建议 功能, 当我们输入命令后, 我们将在光标后看到以柔和的灰色显示的推荐内容...基于 Web 的配置器 Fish Shell 相对于其他 Shell 有一个比较有意思的功能, 就是可以通过浏览器来配置或查看 Shell 的主题、提示、功能函数、常量、历史记录、快捷键 首先我们需要通过...第六部分则是快捷键的一个绑定, 这里也是不允许进行修改 3.5 独自的自定义配置文件 Fish Shell 为用户提供了一个独立的配置文件(~/.config/fish/config.fish),.../fish/config.fish if status is-interactive end 下面我们尝试在该配置文件中, 添加几个 git 相关的 别名, 来进行一个简单测试 vim ~/.config...方法: 在配置文件 ~/.config/fish/config.fish 中, 新增一个 fish_prompt 函数用于定义 提示符 这里我们可以使用 vscode 打开配置文件, mac 访达默认情况下是不展示隐藏文件的

    18610

    专为 90 后定制的 Shell,我倒要看看有啥不一样!

    我们将在光标后看到以柔和的灰色显示的推荐内容, 这些内容可能是 Fish Shell 推导出来的, 也有可能是历史使用过的命令。...基于 Web 的配置器 Fish Shell 相对于其他 Shell 有一个比较有意思的功能, 就是可以通过浏览器来配置或查看 Shell 的主题、提示、功能函数、常量、历史记录、快捷键。...第五部分则是记录了所有用过的命令, 这里可对历史记录进行一个删除。 第六部分则是快捷键的一个绑定, 这里也是不允许进行修改。...独自的自定义配置文件 Fish Shell 为用户提供了一个独立的配置文件(~/.config/fish/config.fish), 我们可以在这个文件里面写入各种自定义函数、别名、常量..., 在每次启动...方法: 在配置文件 ~/.config/fish/config.fish 中, 新增一个 fish_prompt 函数用于定义 提示符。

    33930

    Java 8 - 收集器Collectors_分组groupingBy

    如下图所示,分组操作的结果是一个 Map ,把分组函数返回的值作为映射的键,把流中所有具有这个分类值的项目的列表作为对应的映射值。 ?...={DIET=[prawns], NORMAL=[salmon]}} 输出的结果里的外层 Map 的键就是第一级分类函数生成的值:“fish, meat, other”, 而这个 Map 的值又是一个...第一个 groupingBy 给每个键建立了一个桶。然后再用下游的收集器去收集每个桶中的元素,以此得到n级分组。 ?...=pork} 这个工厂方法接受两个参数——要转换的收集器以及转换函数,并返回另一个收集器。...这个方法接受两个参数: 一个函数对流中的元素做变换 另一个则将变换的结果对象收集起来 其目的是在累加之前对每个输入元素应用一个映射函数,这样就可以让接受特定类型元素的收集器适应不同类型的对象。

    4.3K41

    Fish shell 入门教程

    使用过程中,如果需要帮助,可以输入help命令。浏览器就会自动打开,显示在线文档。 $ help 四、彩色显示 进入 Fish 以后,你注意到的第一件事,可能就是它默认彩色显示。...五、自动建议 Fish 会自动在光标后面给出建议,表示可能的选项,颜色为灰色。...$ vi[按下 Tab 键] vi (Executable link, 2.7MB) view (Vi IMproved, 一个程序员的文本编辑器) viewer.py (Executable, 967B...除了补全命令,Fish 还可以补全参数。比如,ls命令的-l参数后面按下Tab键,就会显示可以连用的其他参数。...function ll ls -lhG $argv end 上面代码定义了一个ll函数。命令行执行这个函数以后,就可以用ll命令替代ls -lhG。其中,变量$argv表示函数的参数。

    1.1K80

    为什么要用fish shell

    命令保存在内存中,之后才保存在硬盘fish_history文件,一个会话不能看到另一个没关闭会话的命令,需要手动执行history merge(这个试了没用,可能跟fish版本支不支持有关系) History...Alias就是创建一个func,如果要保存到config, 应该用funcsave 自定义的变量,所以如果有自定义,使用funcsave,他的效果是在这个function文件夹产生一个 文件名为命令.fish...常用的操作有: 按右键或者CTRL+F接受建议 ALT+->接受建议的第一部分 TAB补全 按tab召唤出提示窗口,可以方向键选择,如果光标在窗口内部,可以按住空格召唤search界面,如果不在窗口,按住任意键可以退出这个窗口...(窗口内部鼠标移动到窗口外部需要按住esc键) 这个补齐是可以自定义的。...(这个是bash一个大短板) 每个命令都可以用tab提示。错误的命令能够被友好提示,并给出可能正确的建议 image.png

    2.4K591

    Linux Ubuntu 安装 Fish Shell 教程以及配置和使用方法

    Fish 是替代默认 shell 的一个第三方 shell,它试图比其他 shell 更加用户友好和交互式,所以老唐在此分享一下在 Debian 10 上面安装、配置和使用 Fish Shell 的教程...启动 Fish Shell: $ fish 退出 Fish Shell: $ exit 三、配置 Fish Shell 首先我们拷贝一份默认的配置文件: $ cp /usr/share/fish/config.fish...'' 四、使用 Fish Shell 的自动建议 当你键入文件名和命令时,Fish Shell 会给出建议。...例如,如果要编辑主目录中的文件 test.txt,则可以键入nano〜/ te,Fish 将预览文件名的其余部分。按向右箭头键接受建议。...Fish 提供了比 Bash 更完整的建议,因为它索引了手册页并收集了程序参数。 五、设置变量 想要在 Fish Shell 中设置变量,可以使用 set 命令。

    8.6K00

    RibbitMQ学习笔记之交换机实战

    第一个参数是交换机的名称。空字符串表示默认或无名称交换机**:消息能路由发送到队列中其实是由 routingKey(bindingkey)绑定 key 指定的,如果它存在的话** 5.2....在上面这张图中,我们可以看到 X 绑定了两个队列,绑定类型是 direct。队列 Q1 绑定键为 orange,队列 Q2 绑定键有两个:一个绑定键为 black,另一个绑定键为 green....在这个规则列表中,其中有两个替换符是大家需要注意的 *(星号)可以代替一个单词 #(井号)可以替代零个或多个单词 5.6.3....Q2–>绑定的是 最后一个单词是 rabbit 的 3 个单词(..rabbit) 第一个单词是 lazy 的多个单词(lazy.#) 上图是一个队列绑定关系图,我们来看看他们之间数据接收情况是怎么样的...是四个单词但匹配 Q2 当队列绑定关系是下列这种情况时需要引起注意 当一个队列绑定键是#,那么这个队列将接收所有数据,就有点像 fanout 了 如果队列绑定键当中没有#和*出现,那么该队列绑定类型就是

    7010

    RabbitMQ详解

    这里有一个比较重要的概念:路由键 。消息到交换机的时候,交互机会转发到对应的队列中,那么究竟转发到哪个队列,就要根据该路由键。 绑定:也就是交换机需要和队列相绑定,这其中如上图所示,是多对多的关系。...当消息中的 路由键 和 这个 binding key 对应上的时候,那么就知道了该消息去到哪一个队列中。...- 这个主要是因为可能又有 Q3,而Q3只接受 black 的信息,而Q2不仅接受black 的信息,还接受 green 的信息。...*,那么就只能匹配路由键是这样子的:第一个单词是 agreements,第四个单词是 b。 井号(#)就表示相当于一个或者多个单词,例如一个匹配模式是agreements.eu.berlin....#,那么,以agreements.eu.berlin开头的路由键都是可以的。 具体代码发送的时候还是一样,第一个参数表示交换机,第二个参数表示routing key,第三个参数即消息。

    65710

    RabbitMQ 交换机

    # Exchanges的类型 直接(direct):处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。...,多个接受,发布/订阅模式 # Direct exchange 在上一节中,我们构建了一个简单的日志记录系统。...这个时候就只能使用 topic 类型 Topic 的要求 发送到类型是 topic 交换机的消息的 routing_key 不能随意写,必须满足一定的要求,它必须是一个单词列表,以点号分隔开。...带 3 个单词的字符串 (*.orange.*) Q2-->绑定的是 最后一个单词是 rabbit 的 3 个单词 (*.*.rabbit) 第一个单词是 lazy 的多个单词 (lazy.#) 上图是一个队列绑定关系图...的 3 个单词(*.*.rabbit) * 第一个单词是 lazy 的多个单词(lazy.#) */ HashMap<String, String

    47530

    RabbitMQ通配符模式

    消费者则可以使用通配符匹配来订阅感兴趣的消息。在RabbitMQ通配符模式中,路由键由生产者定义,用于标识消息的目的地;而绑定则由消费者定义,用于指定消息的接收规则。...通配符模式的一个重要概念是通配符表达式(binding pattern),它定义了绑定的模式规则。通配符表达式可以包含多个单词和通配符符号,以及点号(.)进行分隔。...通配符表达式越精确,匹配的消息越准确。例如,假设路由键通常由一个或多个单词组成,多个单词之间以“.”分割。...在生产者代码中,需要定义并发送带有路由键的消息;在消费者代码中,则需要定义绑定模式并订阅感兴趣的消息。...通配符规则:消息设置RoutingKey时,RoutingKey由多个单词构成,中间以 . 分割。队列设置RoutingKey时, # 可以匹配任意多个单词, * 可以匹配任意一个单词。

    39710

    MAC工作机提升工作效率的tips

    屏幕快照 2019-04-20 下午11.27.04.png 左右移动tab页面的命令键是(⌘ + Shift + ]或者⌘ + Shift + [) 支持在shell终端(包括历史执行的结果,整个会话的执行历史相当于一个文本...)搜索字符串(⌘ + f),查找下一个(⌘ +g) 支持将shell命令下发到多个tab会话中(⌘ + Option + I,再次敲击快捷键关闭此功能) 屏幕快照 2019-04-20 下午11.36.08...三、从bash到Zsh到fish shell上一个程序把键盘输入的命令发送给操作系统执行,常用的比如Bash(Bourne Again Shell)。...它的特点包括 自动完成填充和自动建议 比如说敲了ls -he, 他会用暗灰色字体建议输入ls -help. 当从敲命令的第一个字母开始,这个 建议实时刷新。...屏幕快照 2019-04-21 上午12.14.24.png 按方向键右自动填充建议,tab键打开补齐选项, 选项说根据man页面的选项提示。tab键按完再按空格进行搜索。

    2.5K380

    如何高效回退到特定层级目录?

    cd ../../../ 如果层级比较少,那这样勉强还可以接受,但如果层级很深,那可能就会 cd 到你怀疑人生了。...本文将介绍一个工具,它能帮你快速进入到某一个特定的父目录,而无需一路 cd 。你可以直接指定回退的层级数,或者要回退的目标目录,非常方便。...更重要的是,它甚至还支持 tab 键,而且在不重复的情况下,你也可以指定目标目录的前几个字母即可,大大增加了工作效率。.../shannonmoeller/up/master/up.fish $ source ~/.config/up/up.fish up 脚本的使用 按照以上步骤操作,我们就能将 up 脚本安装到系统并完成配置...,我们可以这样操作: $ pwd /home/alvin/projects/atb4g/ecall/src $ up projects $ pwd /home/alvin/projects 如果要回退的单词长度太长写得太累怎么办

    1.2K10
    领券