首页
学习
活动
专区
工具
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

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

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

相关·内容

  • 最后一个单词长度

    给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串 最后一个 单词长度单词 是指仅由字母组成、不包含任何空格字符最大子字符串。...示例 3: 输入:s = "luffy is still joyboy" 输出:6 解释:最后一个单词长度为6“joyboy”。...题目要求得到字符串中最后一个单词长度,可以反向遍历字符串,寻找最后一个单词并计算其长度。 由于字符串至少存在一个单词,因此字符串中一定有字母。...首先找到字符串最后一个字母,该字母即为最后一个单词最后一个字母。 从最后一个字母开始继续反向遍历字符串,直到遇到空格或者到达字符串起始位置。...遍历到每个字母都是最后一个单词字母,因此遍历到字母数量即为最后一个单词长度

    16430

    算法-最后一个单词长度

    ,返回其最后一个单词长度。...如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格字符串。...2.注意split用法,返回是一个数组,而其中元素是字符串 3.如果一个字符串由若干空格,并且其没有字母表示,那么调用Stringsplit()方法所返回不是一个null,而是一个空数组...方法二:利用String内charAt()方法,逻辑上是字符串最后开始找,没找到单词继续找,找到单词,开始记录单词长度,并且遇到第一个空格停止循环。...此方法关键就是将逻辑翻译为机器逻辑,跳出循环一定是要在之前有字符串情况下才能执行,这逻辑就是count>0,机器语言是如此精炼,所以,在敲代码是首先考虑是自己已经定义好变量作为下面的逻辑判断变量

    48330

    LeetCode - #58 最后一个单词长度

    如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家需求。 难度水平:简单 1. 描述 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串 最后一个 单词长度。...单词 是指仅由字母组成、不包含任何空格字符最大子字符串。 2. 示例 示例 1 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。...示例 2 输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是“moon”,长度为4。...示例 3 输入:s = "luffy is still joyboy" 输出:6 解释:最后一个单词长度为6“joyboy”。...约束条件: 1 <= s.length <= 10^4 s 仅有英文字母和空格 ' ' 组成 s 至少存在一个单词 3.

    44310

    LeetCode28|最后一个单词长度

    1,问题简述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。 如果不存在最后一个单词,请返回 0 。...说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...2,示例 输入: "Hello World" 输出: 5 3,题解思路 从字符串最后一个位置向前查找,这就是本题题解了 4,题解程序 public class LengthOfLastWordTest...6,总结 总结一下这道题写法,主要是为了完成自己心目中早已定下内容,顺便回顾一下过去内容,数据查找可以从前到后查找,从后向前查找,二分查找都可以,不过时间复杂符不一样,这或许也是自己输出内容原因之一吧

    42430

    LeetCode 58.最后一个单词长度

    最后一个单词长度[1] 描述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。...如果不存在最后一个单词,请返回 0 。 说明: 一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...解题思路 先定义一个数组并将其置为 null; 将字符串按照空格分割并存入定义好数组; 判断数组长度,为 0 直接返回 0; 数组长度不为零返回数组最后一个单词长度; 实现 package string...2020/3/19 22:01 * Project : LeetCode * Package : string * Class : FiftyEight * Desc : 58.最后一个单词长度...最后一个单词长度: https://leetcode-cn.com/problems/length-of-last-word/

    36820

    LeetCode | 58.最后一个单词长度

    这次来写一下 LeetCode 第 58 题,最后一个单词长度。 题目描述 题目直接从 LeetCode 上截图过来,题目如下: ?...上面的题很简单也很短,就不做过多解释了。 问题分析 这个题只要从后往前遍历整个字符串就可以了,在遍历过程只要找到空格就可以很容易计算到最后一个单词长度。...这么简单问题,但是其中有两个小小坑,第一个坑是,如果字符串末尾有空格,那么怎么办?第二个坑是,如果字符串没有空格怎么办?...第一个坑解决方法是跳过字符串尾部出现所有空格;第二个坑解决方法是如果在字符串没有空格,那么当前字符串实际上就是整个字符串最后一个单词,那么只要返回整个字符串长度就可以了。...点击 “提交” 按钮后,系统会使用更多测试用例来测试我们写函数体,如果所有的测试用例都通过了,那么就会给出 “通过” 字样,如果没有通过,会给出失败那一组测试用例,我们继续修改代码。

    57530

    LeetCode 进阶之路 - 最后一个单词长度

    给定一个仅包含大小写字母和空格' '字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。 如果不存在最后一个单词,请返回 0。...说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...trim()来去空格,但是想想好像不太好,然后借鉴了题解高人代码,通过循环判断尾部是否有空格,有的话长度就减1,直到尾部没有空格为止 * 代码:while (lenth >= 0 &...-; */ s = s.trim(); // 通过从后往前遍历字符串,定义一个temp来进行计数,temp每次加1,直到遇到空格后返回当前temp值就是单词长度...(s)); } } Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/leetcode进阶之路-最后一个单词长度

    36310

    LeetCode150|最后一个单词长度

    一,最后一个单词长度 1,问题简述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。...如果不存在最后一个单词,请返回 0 。 说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...2,示例描述 示例: 输入: "Hello World" 输出: 5 3,题解思路 字符串常规操作,根据字符串长度对每一个字符进行处理,即可完成。...{ return count; } } return count; } } 5,总结一下 根据字符串长度对每一个字符进行处理...历史文章目录 数据结构:王同学下半年曾写过JDK集合源码分析文章汇总 算法汇总:leetcode刷题汇总(非最终版)

    46730
    领券