前言:
当前兄弟们对“python循环删除集合中的元素和元素”大体比较着重,姐妹们都想要学习一些“python循环删除集合中的元素和元素”的相关资讯。那么小编同时在网摘上搜集了一些对于“python循环删除集合中的元素和元素””的相关资讯,希望兄弟们能喜欢,咱们快快来学习一下吧!用于将一篇文章分成句子所使用的标记都被称为标点符号。从广义上讲,英语语法中列出了 14 个标点符号。它们是句号、问号、感叹号、逗号、分号、冒号、破折号、连字符、括号、括号、大括号、撇号、引号和省略号。中文的标点符号更多样。在本文中,我们将看到如何使用 Python 从我们的数据中删除这些标点符号。
使用循环遍历删除标点符号
biaodian = '''!()-[]{};:'"\,<>./?@#$%^&*_~!?。,、;:“”『』()《》〈〉「」﹃﹄‘’“”〝〞〔〕〖〗〘〙〚〛~]''' str1 = "Hello,World!(你好,世界!)"str2 = ""for char in str1: if char not in biaodian: str2 = str2 + char print(str2)# 输出:HelloWorld你好世界
上面的示例代码使用 for 循环迭代提供的字符串。在每次迭代中检查字符是否是标点符号,如果不是标点符号,将连接到新字符串。最终,输出了清理标点符号后的字符串。
使用正则表达式删除标点符号
Python 为我们提供了正则表达式库(re)来管理各种正则表达式。通常,字符串搜索算法利用模式对字符串进行“查找”或“查找和替换”操作。
Python中的正则表达式带有 sub() 函数,我们将使用该函数,从 python 中的字符串中删除标点符号。
「re.sub 的语法」
re.sub(pattern, replacement, original_string)
pattern:我们要替换的标点符号。 replacement:模式替换字符串(一般是空字符串)。 original_string:我们需要从中删除标点符号的原始字符串。
import restr1 = "Hello,World!(你好,世界!)"str2 = re.sub(r'[^\w\s]','',str1)print(str2)# 输出:HelloWorld你好世界使用 translate() 方法删除字符串中的标点符号
translate() 方法是在 python 中删除字符串中标点符号的最快方法。translate() 函数包含在 string 库中。所以,我们需要导入 string。
translate() 方法返回一个字符串,其中某些特定字符被替换为字典或映射表中的字符。
import stringstr1 = "Hello,World!(你好,世界!)"str2 = str1.translate(str.maketrans('', '', string.punctuation))print(str2)# 输出:HelloWorld(你好,世界!)
string.punctuation 是 string 库中的一个常量,包含了所有英文标点符号。
str.maketrans() 此方法返回一个可供 str.translate() 使用的转换对照表。
对于中文标点符号,可以调用 zhon 库中的 punctuation 即可得到中文的标点符号集合。
from zhon.hanzi import punctuationstr1 = "Hello,World!(你好,世界!)"str2 = str1.translate(str.maketrans('', '', punctuation))print(str2)# 输出:Hello,World!你好世界从列表中删除标点符号
列表是 Python 中最流行的内置数据类型之一。因此,我们必须了解如何从列表中删除标点符号。
list1 = ["Hello,","World!","(你好,","世界!)"]def remove_punc(string): biaodian = '''!()-[]{};:'"\,<>./?@#$%^&*_~!?。,、;:“”『』()《》〈〉「」﹃﹄‘’“”〝〞〔〕〖〗〘〙〚〛~]''' for i in string: if i in biaodian: string = string.replace(i, "") return stringlist2 = [remove_punc(i) for i in list1]print(list2) # 输出:['Hello', 'World', '你好', '世界']
有多种方法可以循环访问列表。在上面的示例中,我们使用列表推导来遍历列表的所有元素。我们创建一个自定义函数,该函数接受字符串作为参数并删除字符串的所有标点符号。删除过程是通过将所有标点符号替换为空字符来完成的。
从文件中删除标点符号
本示例中文本文件 1.txt 的内容是:Hello,World!(你好,世界!)。
def remove_punc(string): biaodian = '''!()-[]{};:'"\,<>./?@#$%^&*_~!?。,、;:“”『』()《》〈〉「」﹃﹄‘’“”〝〞〔〕〖〗〘〙〚〛~]''' for i in string: if i in biaodian: string = string.replace(i, "") return string try: with open("1.txt",'r',encoding="utf-8") as f: data = f.read() with open("1.txt","w+",encoding="utf-8") as f: f.write(remove_punc(data)) print("移除标点符号完成", "1.txt")except FileNotFoundError: print("未找到文件")
创建了一个自定义函数来删除所有字符串标点字符。然后我们使用 open() 打开文件进行读取、重写。为了避免“找不到文件”错误,我们使用 try-except 方法。
❝
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
❞
标签: #python循环删除集合中的元素和元素