python-组合数据


学习 慕课:python学习的笔记

集合

在这里插入图片描述
要创建一个空集合,只能用se()方法。

集合运算
在这里插入图片描述
重点应用:数据去重
在这里插入图片描述

序列类型

在这里插入图片描述
序号的索引:正反两种。
在这里插入图片描述
在这里插入图片描述
ls[::-1]表示对序列取反操作。
在这里插入图片描述
在这里插入图片描述

元组

  • 元组是一种序列类型,一旦创建就不能被修改
  • 使用()和tuple()创建,元素间使用,逗号分割
  • 可以使用,或者不使用小括号
    在这里插入图片描述
    在这里插入图片描述
    其中creature[::-1]不改变原有元组的值,是生成了一个新的和原始元组反序的元组。

列表

  • 列表是一种序列类型,创建后可以随意被修改
  • 使用[]和list()创建,元素间使用,逗号分割
  • 列表中各元素的类型可以不同,无长度限制
    在这里插入图片描述
    在这里插入图片描述
    注意:ls.append(x)是增加一个元素x
    在这里插入图片描述
    在这里插入图片描述关于del ls[::3]说明,是从索引0开始删除,以3为步长,进行删除。
ls =['w','t','y','q','o','d','b']
del ls[::3]
print(ls)
>>['t', 'y', 'o', 'd']

应用场景:数据遍历、数据保护

for item in ls:

for item in tp:

数据保护:元组是不能被修改的,则有的时候,若不想数据被修改,就转换成元组的形式tp=tuple(ls)

字典

字典类型是“映射”的体现:

  • 键值对:键是数据索引的扩展
  • 字典是键值对的集合,键值对之间无序
  • 采用{}或dict()创建,键值对用:冒号表示
    在这里插入图片描述集合也是{}表示,但是在集合部分说道,要生成空集合,只能用set()方法,是因为{}方法生成的是字典。
    在这里插入图片描述
    其中d.items()方法,返回dict_items()括起来的数据。
dict = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
 
print "字典值 : %s" %  dict.items()
 
# 遍历字典列表
for key,values in  dict.items():
    print key,values

>>字典值 :dict_items( [('Google', 'www.google.com'), ('taobao', 'www.taobao.com'), ('Runoob', 'www.runoob.com')])
Google www.google.com
taobao www.taobao.com
Runoob www.runoob.com

在这里插入图片描述
其中d.keys() d.values()并不返回列表类型,它是返回keys或values类型,所以只能做遍历操作,不能当做列表处理。
在这里插入图片描述
在这里插入图片描述

词频统计(应用)

#Calhamlet 词频统计
def getText():
    txt = open("hamlet.txt","r").read()
    txt = txt.lower()
    for ch in '!"#$%&*()+,-.;<>=?@[\\]_{|}^~‘’·':
        txt = txt.replace(ch," ")
    return txt
hamletTxt = getText()
words = hamletTxt.split()
counts = {}
for word in words:
    counts[word] = counts.get(word,0)+1
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count =items[i]
    print("{0:<10}{1:>5}".format(word,count))
  • 要对原文本特殊字符进行处理,用空格替换
    -其中 list(counts.items())的理解, print(counts.items())list(counts.items())结果表达形式是不一样的,以便于操作进行转换成列表处理。。
>>dict_items([('Google', '3'), ('Runoob', '5'), ('taobao', '1')])
>>[('Google', '3'), ('Runoob', '5'), ('taobao', '1')]
  • key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。key=lambda x:x[1] 为对前面的对象中的第二维数据(即字典value)的值进行排序。 key=lambda 变量:变量[维数]
    reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)
  • print("{0:<10}{1:>5}".format(word,count)) 其中{0:<10}{1:>5}中,冒号是引导符,后面跟的是格式控制方法。<表示左对齐,>表示右对齐,数字表示宽度。同理,题中<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。
    输出结果:
    在这里插入图片描述
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值