吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1251|回复: 13
收起左侧

[求助] python一个小编程题

[复制链接]
PandaLi 发表于 2020-4-12 17:31
除了空格  还有其他符号  怎么排除呀   求大佬写个程序

题目

题目

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

笑厌。 发表于 2020-4-12 17:54
ASCII试试看
bp946 发表于 2020-4-12 17:57
[Python] 纯文本查看 复制代码
s = "hello, everybody, I'm a student."
import re
s = [i for i in re.split('[, .]+', s) if i]
print(len(s))


有什么符号自己往[]里加
jidesheng6 发表于 2020-4-12 18:08
jidesheng6 发表于 2020-4-12 18:14
a="hello i am student"
l=a.split(" ")
print(len(i))
如果没有要求就这么写就可以
yao5201478 发表于 2020-4-12 18:19
本帖最后由 yao5201478 于 2020-4-12 18:46 编辑

如果输入标准的英语格式(标点符号后面都有一个空格),只需要用 python 的 split(' ') 分割,再用len() 统计个数就行了

你说的问题可以用 re 模块 的 sub 方法解决

import re

exp = 'Most certainly, you can borrow my pencil.'
# 将标点符号换为空格,再分割,所以结果中会包含空的字符串
r = re.sub('[.?,;:!]', ' ', exp).split(' ')
# 遍历结果,如果是空字符串则移除
for i in r:
    if not i:
        r.remove(i)
# 输出列表长度即单词数量
print(len(r))

# 如果要排除重复出现的单词就用set去重
print(len(set(r)))
Zhk 发表于 2020-4-12 18:35
bp946 发表于 2020-4-12 17:57
[mw_shl_code=python,true]s = "hello, everybody, I'm a student."
import re
s = +', s) if i]

不太好,最简单方式是吧字母放到集合中,排除不是字母的。
bp946 发表于 2020-4-12 18:47
Zhk 发表于 2020-4-12 18:35
不太好,最简单方式是吧字母放到集合中,排除不是字母的。

有什么区别吗?
jinting 发表于 2020-4-12 19:03
嘿嘿,这个我正好做过【Python计算30年考研英语真题单词-词频统计】https://mp.weixin.qq.com/s/zgA4ZpcmVvJ9PblRQf5M3Q
 楼主| PandaLi 发表于 2020-4-12 20:42
yao5201478 发表于 2020-4-12 18:19
如果输入标准的英语格式(标点符号后面都有一个空格),只需要用 python 的 split(' ') 分割,再用len() 统 ...

非常感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 17:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表