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

列表中不计标点符号的单词长度

要计算列表中每个单词的长度,并且不计标点符号,可以使用 Python 编写一个简单的脚本。以下是一个示例代码,展示了如何实现这一点。

示例代码

代码语言:javascript
复制
import string

def remove_punctuation(word):
    return word.translate(str.maketrans('', '', string.punctuation))

def word_lengths(words):
    lengths = []
    for word in words:
        clean_word = remove_punctuation(word)
        lengths.append(len(clean_word))
    return lengths

# 示例列表
words = ["hello,", "world!", "this", "is", "a", "test."]

# 计算每个单词的长度(不计标点符号)
lengths = word_lengths(words)

# 打印结果
for word, length in zip(words, lengths):
    print(f"'{word}' 的长度(不计标点符号)是: {length}")

解释

  1. 导入 string 模块string 模块包含了常见的字符串操作和常量,例如 string.punctuation,它包含所有的标点符号。
  2. 定义 remove_punctuation 函数:这个函数使用 str.translate 方法来移除单词中的标点符号。str.maketrans('', '', string.punctuation) 创建了一个翻译表,将所有标点符号映射到 None,从而移除它们。
  3. 定义 word_lengths 函数:这个函数接受一个单词列表,移除每个单词中的标点符号,并计算其长度。结果存储在一个列表中并返回。
  4. 示例列表:定义一个包含单词的示例列表,其中一些单词包含标点符号。
  5. 计算长度:调用 word_lengths 函数计算每个单词的长度(不计标点符号)。
  6. 打印结果:使用 zip 函数将原始单词和计算的长度配对,并打印结果。

运行结果

运行上述代码将输出:

代码语言:javascript
复制
'hello,' 的长度(不计标点符号)是: 5
'world!' 的长度(不计标点符号)是: 5
'this' 的长度(不计标点符号)是: 4
'is' 的长度(不计标点符号)是: 2
'a' 的长度(不计标点符号)是: 1
'test.' 的长度(不计标点符号)是: 4

这样,你就可以计算列表中每个单词的长度,并且不计标点符号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 第30期:索引设计(全文索引中文处理)

    MySQL 全文索引默认是基于单字节流处理的,也就是按照单词与停止词(默认空格或者标点符号)来划分各个关键词,并且把关键词的文档 ID 和位置保存到辅助表用于后期检索。这种对英文,数字类的单字节字符处理很好, 比如“I am a boy!”, 每个单词很明确的用空格分割,后期查询只需要按照以空格为分隔符的单词检索就行,这些我前面三篇文章已经详细讲过。但是这种分割方法对多字节字符比如中文不是很友好,对中文来说每个字就是单独的字,无规律的字可以组成词,但是各个词之间不需要按照空格来分割。举个例子:“为中国人自豪” ,这句话包含了三个词“为”,“中国人”,“自豪”。如果按照默认的全文索引处理,搜索其中任何子句,结果肯定是出不来。这也间接导致大家说 MySQL 的全文检索结果不准确,不靠谱,其实并非如此,主要是 MySQL 全文索引对分词以及停止符界定有差异。例如下面,表 ft_ch ,有三条记录,怎么查都没有没有结果。

    01

    Linux 命令行文本操作快捷键

    可能有些人不知道,Linux命令行也有一些方便文本操作的快捷键,如跳到行首的快捷键是Ctrl-a,,跳到行尾的快捷键是Ctrl-e,删除光标所在处的字符的快捷键是Ctrl-d。 虽然这些快捷键很多时候都可以被小键盘的左右移动键、Home和End键替代,但是对于比较长的命令的修改,快捷键的操作还是比较快的。因为我平时用Vim比较多,而Linux命令行绑定的是Emacs的快捷键方式,虽然可以通过在命令行执行set -o vi修改为Vim的快捷键方式,但是这样会影响常用的像Ctrl-p,Ctrl-n等操作,因此我还是打算将这些难记的文本操作快捷键总结下来,让自己多练习,以后能更熟练地使用。注意这里我只列了文本操作的快捷键,像别的历史命令查询Ctrl-r和清屏操作Ctrl-l等快捷操作,大家可以参考我写的这篇博客。

    02
    领券