1、列表实例:由字符串创建一个作业评分列表,做增删改查询统计遍历操作。例如,查询第一个2分的下标,统计2分的同学有多少个,3分的同学有多少个等。
>>> score=list('123654') >>> print('作业评分列表:',score) 作业评分列表: ['1', '2', '3', '6', '5', '4'] >>> print('增加:',score) 增加: ['1', '2', '3', '6', '5', '4'] >>> score.pop() '4' >>> print('删除',score) 删除 ['1', '2', '3', '6', '5'] >>> >>> score.insert(2,'1') >>> print('插入:',score) 插入: ['1', '2', '1', '3', '6', '5'] >>> score[2]='2' >>> print('修改:',score) 修改: ['1', '2', '2', '3', '6', '5'] >>> print('第一个2分的下标为:',score.index('2')) 第一个2分的下标为: 1 >>> print('2的个数:',score.count('2')) 2的个数: 2 >>> print('3的个数:',score.count('3')) 3的个数: 1
2、列表,元组,字典,集合的遍历。
>>> ls = list("123654") >>> tu = tuple("123654") >>> s=set("123654") >>> d={'陈小春':60,'李炳君'61,'田继业':80,'田守诚':65} SyntaxError: invalid syntax >>> d={'陈小春':60,'李炳君':61,'田继业':80,'田守诚':65} SyntaxError: invalid character in identifier >>> d={'陈小春':60,'李炳君':61,'田继业':80,'田守诚':65} >>> print('列表:',ls) 列表: ['1', '2', '3', '6', '5', '4'] >>> for i in ls: print(i,end='') print("\n") print("元组:",tu) 1 元组: ('1', '2', '3', '6', '5', '4') 2 元组: ('1', '2', '3', '6', '5', '4') 3 元组: ('1', '2', '3', '6', '5', '4') 6 元组: ('1', '2', '3', '6', '5', '4') 5 元组: ('1', '2', '3', '6', '5', '4') 4 元组: ('1', '2', '3', '6', '5', '4') >>> for i in tu: print(i,end='') print("\n") print("集合:",s) 1 集合: {'5', '2', '1', '6', '4', '3'} 2 集合: {'5', '2', '1', '6', '4', '3'} 3 集合: {'5', '2', '1', '6', '4', '3'} 6 集合: {'5', '2', '1', '6', '4', '3'} 5 集合: {'5', '2', '1', '6', '4', '3'} 4 集合: {'5', '2', '1', '6', '4', '3'} >>> for i in s: print(i,end='') print("\n") print("字典:",d) 5 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} 2 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} 1 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} 6 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} 4 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} 3 字典: {'陈小春': 60, '李炳君': 61, '田继业': 80, '田守诚': 65} >>> for i in d: print(i,end='\t') print(d[i],end='\n') 陈小春 60 李炳君 61 田继业 80 田守诚 65 >>>
总结列表,元组,字典,集合的联系与区别。
列表:有序,可做增删改查操作,用方括号[x,y,z]的方式表示
元组:有序,不可做修改操作,用小括号(x,y,z)的方式表示
字典:无序,可做增删改查操作,其中组成元素为键值对,用花括号{a:b,c:d}的方式表示
集合:无序,可由列表创建,其中元素不重复,用花括号{x,y,z}的方式表示
3、英文词频统计实例
- 待分析字符串
- 分解提取单词
- 大小写 txt.lower()
- 分隔符'.,:;?!-_’
- 计数字典
- 排序list.sort()
- 输出TOP(10)
>>> s='''Kattrina - Spunemi ca vii mai aproape vino langa mine Vreau sa-mi arati incodata tot ce ai la tine De data asta pune mana fara sa te arzi Ridicate fara sa cazi Spunemi ca vii mai aproape vino langa mine Vreau sa-mi arati incodata tot ce ai la tine De data asta pune mana fara sa te arzi Ridicate fara sa cazi Am sa-mi aduc aminte cum a fost si prima oara Si-am sa te iau dupa mine in fiecare seara Am sa te vreau sa te dau sa te iau inapoi Si-o sa petrecem amandoï Am sa-mi aduc aminte cum a fost si prima oara Si-am sa te iau dupa mine in fiecare seara Am sa te vreau sa te dau sa te iau inapoi Si-o sa petrecem amandoï''' >>> print('sa出现的次数',s.count('sa')) sa出现的次数 18
>>> words = s.split(' ') >>> dic={} >>> keys=set(words) >>> for i in keys SyntaxError: invalid syntax >>> for i in keys: dic[i]=words.count(i) >>> tupleee=list(dic.items()) >>> tupleee.sor(key=lambda x:x[1],reverse=True) Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> tupleee.sor(key=lambda x:x[1],reverse=True) AttributeError: 'list' object has no attribute 'sor' >>> tupleee.sort(key=lambda x:x[1],reverse=True) >>> for i in range(10): print(tupleee[i]) ('sa', 14) ('te', 10) ('iau', 4) ('fara', 4) ('sa-mi', 4) ('a', 2) ('vino', 2) ('mai', 2) ('tot', 2) ('vii', 2) >>>