python sorted() count() set(list)-去重

2、用python实现统计一篇英文文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数,并解答以下问题?(标点符号可忽略)

(1) 创建文件对象f后,解释f的readlines和xreadlines方法的区别?

(2) 追加需求:引号内元素需要算作一个单词,如何实现?

cat /root/text.txt

hello world 2018 xiaowei,good luck
hello kitty 2017 wangleai,ha he
hello kitty ,hasd he
hello kitty ,hasaad hedsfds

#我的脚本

#!/usr/bin/python
#get [‘a‘,‘b‘,‘c‘]
import re
with open(‘/root/text.txt‘) as f:
  openfile = f.read()

def get_list_dict():
  word_list = re.split(‘[0-9\W]+‘,openfile)
  list_no_repeat = set(word_list)
  dict_word = {}
  for each_word in list_no_repeat:
    dict_word[each_word] = word_list.count(each_word)
  del dict_word[‘‘]
  return dict_word

#{‘a‘:2,‘c‘:5,‘b‘:1} => {‘c‘:5,‘a‘:2,‘b‘:1}
def sort_dict_get_ten(dict_word):
  list_after_sorted = sorted(dict_word.items(),key=lambda x:x[1],reverse=True)
  print list_after_sorted
  for i in range(3):
  print list_after_sorted[i][0],list_after_sorted[i][1]

def main():

dict_word = get_list_dict()
      sort_dict_get_ten(dict_word)

if __name__ == ‘__main__‘:

main()

[(‘hello‘, 4), (‘kitty‘, 3), (‘he‘, 2), (‘good‘, 1), (‘hasd‘, 1), (‘wangleai‘, 1), (‘hasaad‘, 1), (‘xiaowei‘, 1), (‘hedsfds‘, 1), (‘luck‘, 1), (‘world‘, 1), (‘ha‘, 1)]
hello 4
kitty 3
he 2

原文地址:https://www.cnblogs.com/hixiaowei/p/9122280.html

时间: 2024-11-05 11:43:36

python sorted() count() set(list)-去重的相关文章

python sorted排序

python sorted排序 Python不仅提供了list.sort()方法来实现列表的排序,而且提供了内建sorted()函数来实现对复杂列表的排序以及按照字典的key和value进行排序. sorted函数原型 sorted(data, cmp=None, key=None, reverse=False) #data为数据 #cmp和key均为比较函数 #reverse为排序方向,True为倒序,False为正序 基本用法 对于列表,直接进行排序 >>> sorted([5, 2

Python练习题4(列表去重):[5,3,4,'ok',4,3,'abc',8,52,'ok']去除列表中重复内容 方法一:使用set 方法二:不使用set,自己写方法

方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗余,先判断元素是否重复,再将重复元素提取并保存到新列表中,再for 新建的列表元素,删除原列表 1 def list_dup(ls): 2 list2 = [] 3 length = len(ls) #获取列表元素个数 4 for i in range(0,length-1): 5 for

python sorted

http://www.cnblogs.com/65702708/archive/2010/09/14/1826362.html python sorted 我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序方法2.用built-in函数sorted进行排序(从2.4开始) --------------------------------sorted------------------------------------

Python List count()方法

Python List count()方法 描述 count() 方法用于统计某个元素在列表中出现的次数. 语法 count()方法语法: list.count(obj) 参数 obj -- 列表中统计的对象. 返回值 返回元素在列表中出现的次数. 实例 以下实例展示了 count()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 123]; print "Count for 123 : ", aList.c

Python sorted list的实现

Python sorted list的实现 具体思路是用二分保list有序+插入 class SortedList(list): K = -1 def __init__(self, K=-1): list.__init__(self) if K != -1: self.K = K def append(self, x): bisect.insort(self, x) if self.K != -1: if len(self)==self.K+1: self.pop(0) 这里还有一个限size的

Python sorted 函数

Python sorted 函数 sorted 可以对所有可迭代的对象进行排序操作,sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作.从新排序列表. sorted 语法: sorted(iterable[, cmp[, key[, reverse]]]) 参数说明: # 可迭代对象. iterable # 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0. cmp # 主要是用来进行比较的

Python List count()方法-用于统计某个元素在列表中出现的次数

描述 count() 方法用于统计某个元素在列表中出现的次数. 语法 count()方法语法: list.count(obj) 参数 obj -- 列表中统计的对象. 返回值 返回元素在列表中出现的次数. 实例 以下实例展示了 count()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 123]; print "Count for 123 : ", aList.count(123); print "

(LeetCode)Remove Duplicates from Sorted Array --- 有序列表去重

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. For example, Given input array nums

[leetcode]83. Remove Duplicates from Sorted List有序链表去重

Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1: Input: 1->1->2 Output: 1->2 Example 2: Input: 1->1->2->3->3 Output: 1->2->3 题意: 有序链表去重 思路: 代码: 1 class Solution { 2 public Lis