在捷径中实现列表去除重复项目

捷径社区出品的捷径小课堂连载于公众号「PriceTag发现好应用」,欢迎关注。

关于本节课

前排预告:今天我们将完成一个为列表去除重复项目的练习(很短,10 个操作)。

你可以在任何时候翻到最后下载本次课程捷径的完整版本。

从 1,2,3,2,4 得到 1,2,3,4

制作捷径

假如我们有这样的一个列表:1, 2, 3, 2, 4,我们要怎么找到重复的项目呢?

如果你想,这还要找?不就是 2 嘛。恭喜你答对了!但你是怎么找到它的呢?

整理思路

如果我们放慢刚才的思考过程,从左往右看,如果下一个数字在之前已经出现过了,那么它就是重复的。

把它转化成具体的步骤:

  1. 定义一个结果变量,它一开始是空的

  2. 对给定的列表,对每一项重复

    1. 如果结果中包含这一项,什么也不做
    2. 否则把这一项加入到结果中

设定变量

「设定变量」就像数学课上的「x = 5」一样,稍微不同的是,捷径中的变量不但可以是数字,还可以是文本、图片甚至网页。

我们先通过「无」和「设定变量」,来定义一个空的结果变量,并将这个变量的名字命名为「不含重复项目的列表」。

再通过「列表」来定义一个包含重复项目的列表,作为我们的输入内容。

image

处理每一项

对于数组,我们可以使用「为每个项目重复」操作来处理。

对每一项,我们需要判断它是否已经被结果包含。因此我们再选择「如果」操作,并把它拖到在「为每个项目重复」和「结束重复」之间。

image

接下来我们要实现「如果结果中包含这一项」的判断了。

首先,添加「获取变量」操作并将它放在「为每个项目重复」和「如果」之前。

然后「选取变量」,并选择「不含重复项目的列表」作为「如果」的判断对象。

image

接下来,确认「如果」的「输入」选择的是「包含」,并将值选为「重复项目」:

image

这样我们就完成了判断。

因为当结果中已经包含当前项目的时候,什么也不做,所以「如果」和「否则」之间什么也不用修改。

接下来实现「把这一项加入到结果中」。

首先,我们再次通过「获取变量」,获得「重复项目」:

image

在通过「添加到变量」,将「重复项目」添加到「不含重复内容的列表」中:

image

这样我们就完成了为列表去除重复项目的所有操作。

查看结果

最后,将我们最爱的「显示结果」操作添加到列表,保证它在「结束重复」的下面。并将它的内容设置为「不含重复内容的列表」。

运行捷径,Hooray~我们得到了一个不重复的列表。

image

小结

虽然「为列表去除重复」的方法我早就学过,但在捷径中使用操作来实现它,并不简单。

本次课程的内容并非我的原创,在这里我想和大家分享我是如何找到这个解决方法的。

首先我尝试搜索:「shortcut remove duplicate」,由于捷径的英文「Shortcut」和「快捷键」同名,而删除重复项目的操作又太常见了,搜索结果几乎都是如何在 Excel 中使用快捷键删除重复的行,没有任何和捷径相关的内容。

接着我想到,Shortcut 的前身是 Workflow,所以我改为搜索:「workflow remove duplicate」,第一个就是我需要的答案。

所以我强烈建议大家遇到问题时使用「workflow + 关键词」搜索试试。

课后练习

恭喜你已经完成了本节小练习,不妨回到上一课去,为「制作一个获取网页中应用的捷径」加上「去除重复」功能吧!

下载

下载:本节课程捷径示例

下载:增加了去除重复功能的解析网页中应用捷径

捷径交流

微信群:微信添加好友「PriceTagBot」回复「捷径」自动加入

Telegram 群:https://t.me/sharecuts

微信公众号:PriceTag发现好应用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,335评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,958评论 2 59
  • 核心诉说1.反思自己的作为有多少石油标准的,有多少石油提升的有多少是有规划的,有多少是持续为我改变生活的 2.自己...
    花开不败花开阅读 197评论 0 0
  • 先插播一个广告介绍我发在简书的小说处女作:《立秋的那个周末》,简叔点赞说“写得非常好”。谢绝十八岁以下儿童。 写作...
    xwgong阅读 8,008评论 110 125
  • 虽然阿富汗是侣行团队此次重点要去的国家,我却一直不愿意记录下来,因为在这里我看到了很多沉重的东西。 自从踏入阿富汗...
    南歌吟阅读 2,616评论 4 10