标签 字典 下的文章

Linux 上的 dict 命令对作家来说非常有用,可以为他们的选词提供大量的字典和同义词。

作为一个作家,我经常需要确定单词的正确拼写或定义。我还需要使用词库来寻找替代词,这些词的内涵可能与我可能使用的词有些不同。因为我经常使用 Linux 命令行和文本模式工具来完成我的大部分工作,所以使用命令行词典是有意义的。

我非常喜欢使用命令行,原因有很多,其中最主要的原因是它对我来说更有效率。它也比任何一本或多本实体纸质字典,都要全面得多。我使用 Linux 的 dict 命令已经很多年了,我已经开始依赖它了。

在 Linux 上安装 dict

dict 程序在 Fedora 上没有默认安装,但它很容易安装。以下是如何在 Fedora 或类似发行版上安装:

$ sudo dnf install dictd

在 Debian 和类似发行版上,你还必须安装字典定义:

$ sudo apt install dictd dict-gcide

不需要额外的配置。这个非常简单的 /usr/share/doc/dictd/dict1.conf 文件指定了字典数据库的远程服务器。这个工具使用字典服务器协议(DICT),端口为 2628。

在 Linux 上使用 dict

在终端会话中,以非 root 用户的身份,输入 dict <word> 来获取一个或多个字典和词库的定义列表。例如,以这种方式查找 memory 这个词。

$ dict memory | less
6 definitions found

From The Collaborative International Dictionary of English v.0.48 [gcide]:

  Memory \Mem"o*ry\, n.; pl. {Memories}. [OE. memorie, OF.
     memoire, memorie, F. m['e]moire, L. memoria, fr. memor
     mindful; cf. mora delay. Cf. {Demur}, {Martyr}, {Memoir},
     {Remember}.]
     [1913 Webster]
     1. The faculty of the mind by which it retains the knowledge
        of previous thoughts, impressions, or events.
        [1913 Webster]

              Memory is the purveyor of reason.     --Rambler.
        [1913 Webster]

     2. The reach and positiveness with which a person can
        remember; the strength and trustworthiness of one's power
        to reach and represent or to recall the past; as, his
        memory was never wrong.
        [1913 Webster]
<SNIP>

From WordNet (r) 3.0 (2006) [wn]:

  memory
      n 1: something that is remembered; "search as he would, the
           memory was lost"
      2: the cognitive processes whereby past experience is
         remembered; "he can do it from memory"; "he enjoyed
         remembering his father" [syn: {memory}, {remembering}]
      3: the power of retaining and recalling past experience; "he had
<SNIP>

From Moby Thesaurus II by Grady Ward, 1.0 [moby-thesaurus]:

  78 Moby Thesaurus words for "memory":
     RAM, anamnesis, anniversaries, archetypal pattern, archetype,
     awareness, celebrating, celebration, ceremony, cognizance,
     commemoration, consciousness, disk memory, dressing ship,
<SNIP>

From The Free On-line Dictionary of Computing (30 December 2018) [foldoc]:

  memory

     <storage> These days, usually used synonymously with {Random
     Access Memory} or {Read-Only Memory}, but in the general sense
     it can be any device that can hold {data} in
     {machine-readable} format.

     (1996-05-25)


From Bouvier's Law Dictionary, Revised 6th Ed (1856) [bouvier]:

  MEMORY, TIME OF. According to the English common law, which has been altered
  by 2 & 3 Wm. IV., c. 71, the time of memory commenced from the reign of

为了节省空间,我删去了这个结果的大部分内容,同时留下了足够的信息,以提供一个典型结果的概念。你也可以用双引号或单引号将多字短语括起来进行查询。

$ dict "air gapped"

字典

dict 命令使用一些在线字典,包括法律和技术字典。许多语言的字典也是可用的。你可以“列出”可用的字典数据库,如下面所示:

$ dict -D | less
Databases available:
 gcide          The Collaborative International Dictionary of English v.0.48
 wn             WordNet (r) 3.0 (2006)
 moby-thesaurus Moby Thesaurus II by Grady Ward, 1.0
 elements       The Elements (07Nov00)
 vera           V.E.R.A. -- Virtual Entity of Relevant Acronyms (February 2016)
 jargon         The Jargon File (version 4.4.7, 29 Dec 2003)
 foldoc         The Free On-line Dictionary of Computing (30 December 2018)
 easton         Easton's 1897 Bible Dictionary
 hitchcock      Hitchcock's Bible Names Dictionary (late 1800's)
 bouvier        Bouvier's Law Dictionary, Revised 6th Ed (1856)
 devil          The Devil's Dictionary (1881-1906)
 world02        CIA World Factbook 2002
 gaz2k-counties U.S. Gazetteer Counties (2000)
 gaz2k-places   U.S. Gazetteer Places (2000)
 gaz2k-zips     U.S. Gazetteer Zip Code Tabulation Areas (2000)
 fd-hrv-eng     Croatian-English FreeDict Dictionary ver. 0.1.2
 fd-fin-por     suomi-português FreeDict+WikDict dictionary ver. 2018.09.13
 fd-fin-bul     suomi-български език FreeDict+WikDict dictionary ver. 2018.09.13
 fd-fra-bul     français-български език FreeDict+WikDict dictionary ver. 2018.09.13
 fd-deu-swe     Deutsch-Svenska FreeDict+WikDict dictionary ver. 2018.09.13
<SNIP>

你可以用 -d 选项指定单个字典:

$ dict -d gcide

总结

有时使用词库中的词汇并不是最好的写作方法,因为它可能会混淆你的意思。但我确实发现 dict 命令在为特定的意思选择最好的词方面有极大的帮助。它还能确保我使用的单词拼写正确。

关于 dict 的信息很匮乏。 这个 URL http://www.dict.org/ 只提供了一个基于网络的字典界面。手册页涵盖了语法。但是这个命令是一个有用的、有趣的命令,可以随身携带。我承认在发现 dict 命令后,我花了很多时间尝试不同的东西,看看结果会是什么。我就是那个通读百科全书和字典的孩子。是的,我是\_那个\_孩子。除了在写作或阅读时是一个有用的工具外,dict 也可以是一个有趣的工具来满足一下好奇心。


via: https://opensource.com/article/23/2/linux-dict-command

作者:David Both 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

字典数据结构可以帮助你快速访问信息。

 title=

字典是 Python 编程语言使用的数据结构。一个 Python 字典由多个键值对组成;每个键值对将键映射到其关联的值上。

例如你是一名老师,想把学生姓名与成绩对应起来。你可以使用 Python 字典,将学生姓名映射到他们关联的成绩上。此时,键值对中键是姓名,值是对应的成绩。

如果你想知道某个学生的考试成绩,你可以从字典中访问。这种快捷查询方式可以为你节省解析整个列表找到学生成绩的时间。

本文介绍了如何通过键访问对应的字典值。学习前,请确保你已经安装了 Anaconda 包管理器Jupyter 笔记本

1、在 Jupyter 中打开一个新的笔记本

首先在 Web 浏览器中打开并运行 Jupyter。然后,

  1. 转到左上角的 “File”。
  2. 选择 “New Notebook”,点击 “Python 3”。

 title=

开始时,新建的笔记本是无标题的,你可以将其重命名为任何名称。我为我的笔记本取名为 “OpenSource.com Data Dictionary Tutorial”。

笔记本中标有行号的位置就是你写代码的区域,也是你输入的位置。

在 macOS 上,可以同时按 Shift + Return 键得到输出。在创建新的代码区域前,请确保完成上述动作;否则,你写的任何附加代码可能无法运行。

2、新建一个键值对

在字典中输入你希望访问的键与值。输入前,你需要在字典上下文中定义它们的含义:

empty_dictionary = {}
grades = {
    "Kelsey": 87,
    "Finley": 92
}

one_line = {a: 1, b: 2}

 title=

这段代码让字典将特定键与其各自的值关联起来。字典按名称存储数据,从而可以更快地查询。

3、通过键访问字典值

现在你想查询指定的字典值;在上述例子中,字典值指特定学生的成绩。首先,点击 “Insert” 后选择 “Insert Cell Below”。

 title=

在新单元格中,定义字典中的键与值。

然后,告诉字典打印该值的键,找到需要的值。例如,查询名为 Kelsey 的学生的成绩:

# 访问字典中的数据
grades = {
    "Kelsey": 87,
    "Finley": 92
}

print(grades["Kelsey"])
87

 title=

当你查询 Kelsey 的成绩(也就是你想要查询的值)时,如果你用的是 macOS,只需要同时按 Shift+Return 键。

你会在单元格下方看到 Kelsey 的成绩。

4、更新已有的键

当把一位学生的错误成绩添加到字典时,你会怎么办?可以通过更新字典、存储新值来修正这类错误。

首先,选择你想更新的那个键。在上述例子中,假设你错误地输入了 Finley 的成绩,那么 Finley 就是你需要更新的键。

为了更新 Finley 的成绩,你需要在下方插入新的单元格,然后创建一个新的键值对。同时按 Shift+Return 键打印字典全部信息:

grades["Finley"] = 90
print(grades)

{'Kelsey': 87; "Finley": 90}

 title=

单元格下方输出带有 Finley 更新成绩的字典。

5、添加新键

假设你得到一位新学生的考试成绩。你可以用新键值对将那名学生的姓名与成绩补充到字典中。

插入新的单元格,以键值对形式添加新学生的姓名与成绩。当你完成这些后,同时按 Shift+Return 键打印字典全部信息:

grades["Alex"] = 88
print(grades)

{'Kelsey': 87, 'Finley': 90, 'Alex': 88}

 title=

所有的键值对输出在单元格下方。

使用字典

请记住,键与值可以是任意数据类型,但它们很少是 扩展数据类型 non-primitive types 。此外,字典不能以指定的顺序存储、组织里面的数据。如果你想要数据有序,最好使用 Python 列表,而非字典。

如果你考虑使用字典,首先要确认你的数据结构是否是合适的,例如像电话簿的结构。如果不是,列表、元组、树或者其他数据结构可能是更好的选择。


via: https://opensource.com/article/21/3/dictionary-values-python

作者:Lauren Maffeo 选题:lujun9972 译者:DCOLIVERSUN 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

大多数人在遇到他们不熟悉的单词时会查询google。或者他们用一个最喜欢的在线字典来提供答案。当你在没有网络连接的时候怎么办?或者你只有一个古老的Linux发行版且你没有GUI界面?你需要离线查找的话,这里有一个好的方法。

首先你需要本地设置dictd。dictd 是一个字典数据库服务器。它允许你访问在线字典。但是等一下,我们不是要离线使用么?这是为什么我们要将其安装到本地的原因。它带有一个命令行客户端。

要在Ubuntu或者Debian上安装你要输入:

$ sudo apt-get install dictd

这个很简单。现在你需要安装用的字典。安装完每个字典插件后dictd都会自动重新加载它的数据库。让我们来安装英语字典和英语同义词词典。

输入:

$ sudo apt-get install dict-gcide
$ sudo apt-get  install dict-moby-thesaurus

如果你希望查询其他可以查询的语言,你可以输入:

$ sudo apt-cache search “dict package”

这会列出下面这样的:

dict-freedict-eng-ara - Dict package for English-Arabic Freedict dictionary
dict-freedict-eng-cro - Dict package for English-Croatian Freedict dictionary
dict-freedict-eng-cze - Dict package for English-Czech Freedict dictionary
dict-freedict-eng-deu - Dict package for English-German Freedict dictionary
dict-freedict-eng-fra - Dict package for English-French Freedict dictionary

现在你已成功安装dictd了,之后你就可以查找字典了。

首先,让我们检查一下dictd服务是否在运行并且安装了什么数据库:

$ dict -I

示例输出:

dictd 1.12.0/rf on Linux 3.2.0-29-generic-pae
On my_host: up 95.000, 2 forks (75.8/hour)

Database      Headwords         Index          Data  Uncompressed
gcide              203645       3859 kB         12 MB         38 MB
moby-thesaurus      30263        528 kB         10 MB         28 MB

为了查询一个单词,你可以指定要查询的字典。让我们查询一下English one字典(gcid):

$ dict -d gcide [你要查的单词]

如果你不使用-d 参数,dictd会搜寻所有的安装字典并返回匹配的结果。


via: http://www.unixmen.com/look-dictionary-definitions-via-terminal/

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出