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

Python 3-文本文件按word拆分,计算出现次数并返回已排序元组的列表

问题:如何使用Python 3拆分文本文件中的单词,并计算每个单词出现的次数,并返回已排序的元组列表?

回答: 在Python 3中,可以使用以下步骤来拆分文本文件中的单词,并计算每个单词出现的次数,并返回已排序的元组列表:

  1. 打开文本文件: 使用open()函数打开文本文件,并将其分配给一个文件对象。例如,假设文本文件名为text_file.txt,可以使用以下代码打开文件:
  2. 打开文本文件: 使用open()函数打开文本文件,并将其分配给一个文件对象。例如,假设文本文件名为text_file.txt,可以使用以下代码打开文件:
  3. 读取文件内容: 使用文件对象的read()方法读取文件的内容,并将其分配给一个字符串变量。例如,可以使用以下代码读取文件内容:
  4. 读取文件内容: 使用文件对象的read()方法读取文件的内容,并将其分配给一个字符串变量。例如,可以使用以下代码读取文件内容:
  5. 关闭文件: 使用文件对象的close()方法关闭文件,释放资源。例如,可以使用以下代码关闭文件:
  6. 关闭文件: 使用文件对象的close()方法关闭文件,释放资源。例如,可以使用以下代码关闭文件:
  7. 拆分文本为单词列表: 使用Python的字符串方法和正则表达式,将文本内容拆分为单词列表。可以使用split()方法将文本内容按照空格拆分为单词,并使用正则表达式去除标点符号和其他非字母字符。例如,可以使用以下代码将文本内容拆分为单词列表:
  8. 拆分文本为单词列表: 使用Python的字符串方法和正则表达式,将文本内容拆分为单词列表。可以使用split()方法将文本内容按照空格拆分为单词,并使用正则表达式去除标点符号和其他非字母字符。例如,可以使用以下代码将文本内容拆分为单词列表:
  9. 计算单词出现次数: 使用Python的collections模块中的Counter类,可以方便地计算单词出现的次数。可以使用Counter()函数将单词列表作为参数,并将其分配给一个变量。例如,可以使用以下代码计算单词出现的次数:
  10. 计算单词出现次数: 使用Python的collections模块中的Counter类,可以方便地计算单词出现的次数。可以使用Counter()函数将单词列表作为参数,并将其分配给一个变量。例如,可以使用以下代码计算单词出现的次数:
  11. 返回已排序的元组列表: 使用Python的sorted()函数,可以对字典按照值进行排序,并返回一个已排序的元组列表。可以使用items()方法将字典转换为元组列表,并将其作为参数传递给sorted()函数。例如,可以使用以下代码返回已排序的元组列表:
  12. 返回已排序的元组列表: 使用Python的sorted()函数,可以对字典按照值进行排序,并返回一个已排序的元组列表。可以使用items()方法将字典转换为元组列表,并将其作为参数传递给sorted()函数。例如,可以使用以下代码返回已排序的元组列表:

完整代码示例:

代码语言:txt
复制
import re
from collections import Counter

def count_words(filename):
    file = open(filename, 'r')
    content = file.read()
    file.close()

    words = re.findall(r'\b\w+\b', content.lower())
    word_counts = Counter(words)
    sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)

    return sorted_word_counts

filename = 'text_file.txt'
result = count_words(filename)
print(result)

这段代码将会打开名为text_file.txt的文本文件,拆分其中的单词,并计算每个单词出现的次数。最后,将返回一个已排序的元组列表,其中每个元组包含单词和对应的出现次数。

腾讯云相关产品推荐:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 人工智能机器学习平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(Tencent Blockchain):https://cloud.tencent.com/product/tencentblockchain
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python】PySpark 数据计算 ⑤ ( RDD#sortBy方法 - 排序 RDD 中元素 )

RDD 中每个元素提取 排序键 ; 根据 传入 sortBy 方法 函数参数 和 其它参数 , 将 RDD 中元素 升序 或 降序 进行排序 , 同时还可以指定 新 RDD 对象 分区数...新 RDD 对象 ) 中 分区数 ; 当前没有接触到分布式 , 将该参数设置为 1 即可 , 排序完毕后是全局有序 ; 返回值说明 : 返回一个新 RDD 对象 , 其中元素是 按照指定...需求分析 统计 文本文件 word.txt 中出现每个单词个数 , 并且为每个单词出现次数进行排序 ; Tom Jerry Tom Jerry Tom Jack Jerry Jack Tom 读取文件中内容..., 统计文件中单词个数并排序 ; 思路 : 先 读取数据到 RDD 中 , 然后 按照空格分割开 再展平 , 获取到每个单词 , 根据上述单词列表 , 生成一个 二元元组 列表 , 列表中每个元素...键 Key 为单词 , 值 Value 为 数字 1 , 对上述 二元元组 列表 进行 聚合操作 , 相同 键 Key 对应 值 Value 进行相加 ; 将聚合后结果 单词出现次数作为 排序

34410

python入门基础

2.1 序列类型定义 ~序列是具有先后关系一组元素 ~序列是一个基类类型(基本数据类型) ~序列类型分为字符串、列表元组类型 2.2 序列类型之列表 列表由一系列特定顺序排列元素组成,用方括号[...L.sort() 将列表L元素首字母顺序排序 >>> L.sort()>>> L['C', 'Go', 'Java', 'JavaScript', 'Lua', 'Python', 'Ruby']...(digits) 624 列表相关练习 练习1:创建一个列表,其中包含数字1-100打印出来然后计算列表数字总值。...元组其实跟列表差不多,也是存一组数据,只不过它一旦创建便不能修改,所以又叫只读列表 它只有两个方法,一个是count(统计元组某个元素出现次数tuple.count('str')),一个是index...() #以空格拆分列表 counts = {} for word in words: counts[word] = counts.get(word,0) + 1 #以每个词为键,值默认0,,每出现一次累加

2.3K70

python基础知识入门_python新手学院

2.1 序列类型定义 ~序列是具有先后关系一组元素 ~序列是一个基类类型(基本数据类型) ~序列类型分为字符串、列表元组类型 2.2 序列类型之列表 列表由一系列特定顺序排列元素组成,用方括号[...L.sort() 将列表L元素首字母顺序排序 >>> L.sort()>>> L[‘C’, ‘Go’, ‘Java’, ‘JavaScript’, ‘Lua’, ‘Python’, ‘Ruby’]...(digits) 624 列表相关练习 练习1:创建一个列表,其中包含数字1-100打印出来然后计算列表数字总值。...元组其实跟列表差不多,也是存一组数据,只不过它一旦创建便不能修改,所以又叫只读列表 它只有两个方法,一个是count(统计元组某个元素出现次数tuple.count(‘str’)),一个是index...以空格拆分列表 counts = {} for word in words: counts[word] = counts.get(word,0) + 1 #以每个词为键,值默认0,,每出现一次累加1

2.6K20

Python指南:组合数据类型

元组只提供两种方法: 语法 描述 t.count(x) 返回对象x在元祖t中出现次数 t.index(x) 返回对象x在元组t中出现最左边位置 tup = ('1', 'first', '1',..., 5, 'today'] L.append(9) print('列表追加项:', L) print('列表中5出现次数:', L.count(5)) L.extend('hello') print...5出现次数: 2 追加迭代器中项: [5, 'python', (1, 2), 5, 'today', 9, 'h', 'e', 'l', 'l', 'o'] "python"最左边索引值: 1 在索引位置...5] 1.3.4 拆分操作符 任意可迭代列表元组等)数据类型都可以使用序列拆分操作符进行拆分,即*。...有序字典另一种稍专业一些用途是生成排序字典。给定一个字典d,可以如下方式转换为排序字典:d=collections.OrderedDict(sorted(d.items()))。

2.5K10

用这10个小技巧加速Python编程

1.负索引 人们喜欢使用序列,因为当我们知道元素顺序,我们就可以顺序操作这些元素。在Python中,字符串、元组列表是最常见序列数据类型。我们可以使用索引访问单个项目。...一些经常使用内置容器是元组列表,字典和集合。在处理这些容器时,我们经常需要在执行其他操作之前检查它们是否包含任何元素。确实,我们可以检查这些容器长度,该长度与存储项目的数量相对应。...8.使用计数器进行元素计数 当我们在列表元组或字符串中有多个项目时(例如,多个字符),我们经常想计算每项中有多少个元素。为此,可以为此功能编写一些乏味代码。...(2)) Most Frequent: [('an', 5), ('boy', 4)] 9.不同订单要求排序 在许多项目中,对列表项目进行排序是一项普遍任务。...最基本排序基于数字或字母顺序,我们可以使用内置sorted()函数。默认情况下,该sorted()函数将升序对列表进行排序(实际上,它可以是可迭代)。

93220

【数据分析从入门到“入坑“系列】利用Python学习数据分析-Python数据结构-1

Python数据结构简单而强大。通晓它们才能成为熟练Python程序员。 元组 元组是一个固定长度,不可改变Python序列对象。...拆分元组 如果你想将元组赋值给类似元组变量,Python会试图拆分等号右边值: In [15]: tup = (4, 5, 6) ​ In [16]: a, b, c = tup ​ In [17]...Python最近新增了更多高级元组拆分功能,允许从元组开头“摘取”几个元素。...insert逆运算是pop,它移除返回指定位置元素: In [49]: b_list.pop(2) Out[49]: 'peekaboo' ​ In [50]: b_list Out[50]: [...二分搜索和维护排序列表 bisect模块支持二分查找,和向排序列表插入值。

45410

【利用Python进行数据分析】3-Python数据结构、函数和文件

(4, None)*2 #(4, None,4, None) 1.1.2、拆分元组  如果你想将元组赋值给类似元组变量,Python会试图拆分等号右边值:  tup = 4, 5, (6, 7) a...作为惯用写法,许多Python程序员会将不需要变量使用下划线 a1, b2, *_ = values 变量拆分常用来迭代元组列表序列.  1.1.3、tuple方法  因为元组大小和内容不能修改,..., insert可以在特定位置插入元素, insert逆运算是pop,它移除返回指定位置元素....', 'small', 'foxes'] 1.2.5、二分搜索和维护排序列表 import bisect  bisect模块支持二分查找,和向排序列表插入值。..., 4, 6, 7]  注意:bisect模块不会检查列表是否排好序,进行检查的话会耗费大量计算

84450

Python 3 学习笔记:序列

count() 该方法用于检索指定字符串在另一个字符串中出现次数,如果不存在则返回 0,否则返回出现次数, 1 string.count(substring, startIndex, endIndex...[index] 复制 根据元素值删除 使用列表 remove() 方法实现, 1 list.remove(elementValue) 复制 对列表进行统计与计算 获取某个元素出现次数 使用列表...sorted() 函数 在 Python 中,提供了一个内置 sorted() 函数,用于对列表进行排序,该方法返回一个排序列表,而原列表保持不变, 1 new_list = sorted(old_list...元组列表相似,也是有一系列特定顺序排列元素(可以是 Python任意数据类型)组成,但元组是不可变序列,即不能向元组中追加、删除元素。...集 在 Python 中,求集合集使用 | 符号进行运算。 差集 在 Python 中,求集合差集使用 - 符号进行运算。

2.1K10

List(列表)

Python中常用内置函数有: len 用于计算列表元素个数 max 返回列表中元素最大值 min 返回列表中元素最小值 list 将元组转换成列表 下面我们一起看看上述四个函数示例: # -*...obj) 统计列表中某个元素出现次数 extend(seq) 在列表末尾追加另外一个序列(即列表扩展) index(obj) 返回列表中第一个匹配到元素索引 insert(index, obj)...将在列表指定位置插入一个对象 pop(obj=list[-1]) 移除列表一个元素(默认最后一个),返回该元素 remove(obj) 删除列表中第一个匹配到元素 reverse() 将列表中元素反向..., 11] # append,追加一个元素 list1.append(100) print(list1) # count, 统计1出现次数...切片 因为列表也是一个序列,所以我们可以使用Python切片机制来访问元组中指定位置元素,也可以截取其中一段元素。

1.5K110

强大 Gensim 库用于 NLP 文本分析

调用Gensim提供API建立语料特征(word索引字典,并将文本特征原始表达转化成词袋模型对应稀疏向量表达。可以使用 Gensim 从句子列表文本文件中生成字典。...词袋返回一个元组向量,其中包含每个标记唯一 id 和文档中出现次数。.../g_bow1.mm') 到这里,训练语料预处理工作就完成了。我们得到了语料中每一篇文档对应稀疏向量(这里是bow向量);向量每一个元素代表了一个 word在这篇文档中出现次数。...其次,出于内存优化考虑,Gensim 支持文档流式处理。我们需要做,只是将上面的列表封装成一个Python迭代器;每一次迭代都返回一个稀疏向量即可。...最后,我们借助index对象计算任意一段query和所有文档(余弦)相似度: sims = index[query_vec] # 返回一个元组类型迭代器:(idx, sim) 写在最后 本文已经讨论了几个关键

1.9K31

Python中冷门但非常好用内置函数

elements() 返回一个迭代器,其中每个元素将重复出现计数值所指定次。元素会首次出现顺序返回。如果一个元素计数值小于1,elements()将会忽略它。...,其中包含n个最常见元素及出现次数常见程度由高到低排序。...计数值相等元素首次出现顺序排序: 这两个方法是Counter中最常用方法,其他方法可以参考python3.10.1官方文档 实战 Leetcode 1002.查找共用字符 给你一个字符串数组words...这道题是找出字符串列表里面每个元素都包含字符,首先可以用Counter计算出每个元素每个字符出现次数,依次取交集最后得出所有元素共同存在字符,然后利用elements输出共用字符出现次数 class...这时候就需要用到sorted(),它可以对任何可迭代对象进行排序返回列表列表升序操作: a = sorted([2, 4, 3, 7, 1, 9]) print(a) # 输出:[1, 2,

49630

Python基础知识点梳理

program_list.pop(1) 11 统计 len(list) 计算列表长度 len(program_list) 12 统计 list.count(obj) 统计数据在列表出现次数 program_list.count...(),初始化一个元组语法如下: program_tuple = ("c++", "java", "python", "php") 元组主要用于函数参数和返回值,格式化字符串,以及保护列表数据,由于元组数据无法修改...02 统计 len(tuple) 计算元组长度 len(program_tuple) 03 统计 tuple.count(obj) 统计数据在列表出现次数 program_tuple.count(“...: 序号 方法 说明 01 str.count(str1, beg=0, end=len(string)) 返回 str1 在字符串中出现次数,如果 beg 或者 end 指定则返回指定范围内 str...出现次数 02 str.startswith(obj, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。

1K20

Python基础学习

str.jion(iter) # 将字符串中每个元素后添加一个iter,可做分隔 str.count(sub) # 计算str中出现子串sub次数 str.split(sep=None) # 分隔形成一个列表...s.count(x) 返回序列s中出现x次数 元组 不可修改序列 () 使用小括号 () 或 tuple() 创建,元素间用逗号’,’分隔,可以使用或不使用小括号 列表 最主要组合类型 可修改序列...x) 在列表ls第i位置增加元素x ls.pop(i) 将列表ls中第i位置元素取出删除该元素 ls.remove(x) 将列表ls中出现第一个元素x删除 ls.reverse() 将列表ls中元素反转...例如:统计数据出现次数,数据是键,次数是值 最主要作用:表达键值对数据,进而操作它们 jieba库 jieba:第三方库、中文分词处理库 # 安装 pip install jieba jieba分词原理...s) # 搜索引擎模式,返回一个列表类型分词结果,存在冗余,建议使用 jieba.add_word(w) # 向分词词典中增加新词w Python-文件和数据格式化 第七周 文件类型 文件是数据抽象和集合

2.2K10

Python排序傻傻分不清?一文看透sorted与sort用法

,输出也是一个列表,因为sorted()定义返回一个新列表。...排序局限性和陷阱 当使用Python对整数值进行排序时,可能会出现一些限制和奇怪现象。...具有不能比较数据类型列表无法进行排序 有些数据类型使用sorted是无法进行比较,因为它们类型不同。如果尝试在包含不可比较数据列表上使用sorted(),Python返回错误。...列表中每个元素长度由len确定,然后以升序返回。 回到前面的例子,当大小写不同时第一个字母排序。...在这里,可以第三个单词第二个字母对短语列表进行排序,然后反向返回列表: >>> phrases = ['when in rome', ...

11.4K10

Python3简单语法与常用库(慢慢更新中)

参考链接: Python | 抓取网页获得最常用单词程序 之前学习Python时候,主要是在网上简单看了些文档,并没有系统去学习过,前些天抽空在中国大学MOOC上学习了由北京理工大学嵩天老师讲授免费公开课...ls第i位置增加元素xls.pop(i)将列表中第i位置元素去除删除该元素ls.remove(x)将列表出现第一个元素x删除ls.reverse()将列表ls中元素反转 字符串类型及操作  字符串由一对单引号或一对双引号表示...被分割部分组成        "A, B, C".split(",") 结果为 ['A', 'B', 'C'] str.count(sub)返回字串sub在str中出现次数 字符串类型格式化: ...注意函数返回元组类型。  def () :         return # 定义一个计算数字n!...,返回True或False os.path.isfile(path) 判断path所对应是否为存在文件,返回True或False os.path.isdir(path) 判断path所对应是否为存在目录

65600

Python基础-5 常用数据结构(集合、字典)

集合和字典 上文说完了列表元组,本文继续介绍另外两种常用数据结构,集合和字典。 集合 set 集合是由不重复元素组成无序容器。...Python集合和数学上集合概念基本相同,也可以求交集、集、差集等操作。 参考手册:“set 对象是由具有唯一性 hashable 对象所组成无序多项集。”...因此键必须是不可变类型,如字符串或数字,包含不可变对象元组列表不可以作为键,因为列表可用append()等方法修改。键也必须是唯一。...']) # 0 most_common([n]) 返回一个列表,其中包含 n 个最常见元素及出现次数常见程度由高到低排序。...(计数值相等元素首次出现顺序排序): Counter('abracadabra').most_common(3) Counter常用案例: c.total()

70820

python入门——python数据类型

作为一个方括号内逗号分隔值出现列表数据项不需要具有相同类型。...(list):返回列表元素最小值 5、list(seq):将元组转换为列表 列表操作包含以下方法: 1、list.append(obj):在列表末尾添加新对象 2、list.count(obj):统计某个元素在列表出现次数...对列表进行排序方法有 sort()        对列表进行永久排序; sorted()              对列表进行临时排序 reverse()            倒着打印列表,永久排序...方法 解释 len(dict) 计算字典元素个数,即键总数。 str(dict) 输出字典以可打印字符串表示。 type(variable) 返回输入变量类型,如果变量是字典就返回字典类型。...否则,返回default值 popitem() 随机返回删除字典中一对键和值。

1.8K10

python-for-data-python基础

本文主要是对Python数据结构进行了一个总结,常见数据结构包含:列表list、元组tuple、字典dict和集合set。 ?...(obj):删除指定元素,没有返回值;如果存在多个,则删除第一个元素 排序 sort:obj.sort(key=len) sorted:sorted(obj);默认是从小到大排序 bisect模块:import...元组列表之间是互通,通过list()和tuple()能够实现列表元组之间转化。...通过dir(tuple)能够查看元组对象方法 操作 统计 统计元素出现个数count() 嵌套拆包 tup = 4,5,(6,7) a,b,(c,d) = tup # 嵌套拆包 遍历序列 seq...i,v in enumerate(lst): mapping[v] = i # 键是lst中元素,值是该元素索引 sorted sorted函数返回排序一个列表,默认是从小到大 sorted

1.2K20
领券