轻轻松松学会Python入门八:组合数据类型

简介: 轻轻松松学会Python入门八:组合数据类型

一,集合类型及操作


13d24a20b373462dbc2d8fbb572328bb.png


1,集合类型的定义:


1)集合是多个元素的无序组合。


集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型


2)集合是多个元素的无序组合


集合用大括号{}表示,元素间用逗号分隔

建立集合类型用{}或set()

建立空集合类型,必须使用set()


32c7239d2b3d4a68bec56bfe688376f8.png


2,集合间操作


7f98cd1c4bd84e678ea0aae5c5013ccf.png


ca8722e4ac4d4a8da66955079826c11f.png


1fcfa4a8361849f39a86d56cf5d3871e.png

f36f5629916b454b936629ff05845188.png


3,集合处理方法:


6fee5153fd654b498320d0acd8bec1d7.png

23696fd00c76445da4b905bc8eabf53a.png

4edcc6dc3abc4c7ba0451f68eb0387da.png


4,集合类型应用场景:


1)包含关系比较:


3dc5a448ae9c44eaa2c0c8dca8f2ed36.png


2)数据去重:集合类型所有元素无重复


1ed67af94ebb402a9c5cd494a3536b98.png


二,序列类型及操作


cabf9000ffdd42589600524ba852e8e8.png


1,序列类型定义:


1)序列是具有先后关系的一组元素


序列是一维元素向量,元素类型可以不同

类似数学元素序列: Se, s1, ...,sn-1

元素间由序号引导,通过下标访问序列的特定元素


2)序列是一个基类类型


34124bb026f74e5ba90ea287e44ad19f.png

9b4ab6cfdd3b451aa0c2f35ef2f6c76e.png


2,序列处理函数及方法


b55e1384e82b44c88e24bf34082050f6.png

e435f9d52d484fdca94e28e641b2da83.png


9cef25589e54445ebf09228ab5dfb55b.png

bcdf4c96d5644ea2929a11a078c0ea56.png


3,元组类型及操作:


1)元组是序列类型的一种扩展


元组是一种序列类型,一旦创建就不能被修改

使用小括号()或tuple()创建,元素间用逗号,分隔.

可以使用或不使用小括号


5f8c7a07188b4a9cbf3bdf276e858b74.png


2)元组继承序列类型的全部通用操作


元组继承了序列类型的全部通用操作

元组因为创建后不能修改,因此没有特殊操作

使用或不使用小括号


76b7750d31e040d4bea86413cb707bd2.png


4,列表类型及操作:


1)列表是序列类型的一种扩展(十分常用)


列表是一种序列类型,创建后可以随意被修改

使用方括号[]或list() 创建,元素间用逗号,分隔

列表中各元素类型可以不同,无长度限制


9cd5d1afa17c44e5b08f6c6a61f2c5f5.png


只是把地址给了它,并没有重新复制一份。


2)列表类型操作函数和方法


e63933b502184c4f97cf40a73aea07f3.png

34449acdfa304ac3b45301563e0a8d7b.png

ae9bc8ead5c84a32ae9b7a706c4fba13.png


2fcb570d1e73453eb7726bdafe2eb7e5.png


3)序列类型应用场景


元组用于元素不改变的应用场景,更多用于固定搭配场景

列表更加灵活,它是最常用的序列类型

最主要作用:表示一组有序数据,进而操作它们


数据保护:


da27463e7fa8495b8a8a091fbf9088d2.png


三,实例9,基本统计值计算


4e03d6366e9b455fb9695178583a99ff.png


def getNum():
    nums = []
    iNumStr = input("请输入数字(回车退出):")
    while iNumStr != '':
        nums.append(eval(iNumStr))
        iNumStr = input("请输入数字(回车退出):")
    return nums
def mean(numbers):#平均数
    s = 0.0
    for num in numbers:
        s +=num
    return s / len(numbers)
def dev(numbers,mean):#方差
    sdev = 0.0
    for num in numbers:
        sdev +=(num - mean)**2
    return pow(sdev / (len(numbers) - 1),0.5)
def median(numbers):#中位数
    sorted(numbers)
    size = len(numbers)
    if size % 2 == 0:
        med = (numbers[size//2-1] + numbers[size//2])/2
    else:
        med = numbers[size//2]
    return med
n = getNum()
m = mean(n)
print("平均值:{},方差:{:.2},中位数:{}".format(m,dev(n,m),median(n)))


四,字典类型及操作


d870c423a9d04a3d8390c4323b2f365e.png


1,字典类型定义:


映射是一种键(索引)和值(数据)的对应


streetAddr" :“中关村南大街5号”
" city":"北京市"
" zipcode ":“100081 "

87ddbe306d2841a3855d4099c819cd39.png


2,字典类型的用法:


>>> d = {"中国":“北京”,"美国":"华盛顿",, "法国":"巴黎" }
>>> d{'中国': '北京,'美国': '华盛顿’,'法国': '巴黎'}
>>> d["中国"]    '北京'
>>> de = {} ; type(de)
type(x)
<class 'dict'>
#返回变量x的类型


序列类型由0..N整数作为数据的默认索引映射类型则由用户为数据定义索引

-键值对:键是数据索引的扩展

-字典是键值对的集合,键值对之间无序

-采用大括号{}和dict()创建,

键值对用冒号:表示

{<键1>:<值1>, <键2>:<值2>,....<键n>:<值n>}


<字典变量> = {<键1>:<值1> ,.... ,<键n>:<值n>}

<值> = <字典变量> [<键>]

<字典变量>[<键>] = <值>

[ ]用来向字典变量中索引或增加元素


3,字典类型操作函数和方法:


36c5e165881a434f87003f5b0c5093db.png


>>> d = {"中国":"北京", "美国":"华盛顿",“法国" :"巴黎"}
>>>"中国”in d
True
>>> d.keys()
dict_ _keys(['中国',' 美国' ,'法国'])
>>> d.values()
dict_ _values(['北京',‘华盛顿', '巴黎 '])

46289c48e5cc4085a021230d23f28203.png


>>> d = {"中国":"北京","美国":"华盛顿","法国":"巴黎"}
>>> d.get("中国", "伊斯兰堡" )
'北京'
>>> d.get("巴基斯坦","伊斯兰堡")
' 伊斯兰堡
>>> d. popitem( )
('美国','华盛顿')


五,jieba库的使用


1,jieba库的使用:


jieba是优秀的中文分词第三方库


- 中文文本需要通过分词获得单个的词语

- jieba是优秀的中文分词第三方库,需要额外安装

- jieba库提供三种分词模式,最简单只需掌握一个函数


2,jieba分词依靠中文词库

- 利用一个中文词库,确定中文字符之间的关联概率

- 中文字符间概率大的组成词组,形成分词结果

- 除了分词,用户还可以添加自定义的词组


3,jieba分词的三种模式:


精确模式、全模式、搜索引擎模式

. 精确模式:把文本精确的切分开,不存在冗余单词

. 全模式:把文本中所有可能的词语都扫描出来,有冗余

. 搜索引擎模式:在精确模式基础上,对长词再次切分


ab20790c011c4ad290a0428e0e716b16.png

85f4ff42562947f7b3e1a417cb815ebc.png


六,实例10:文本词频统计:


86d6e2144c604a5b99fb29e4556d673b.png


def getText():
    txt = open("hamlet.txt","r").read()
    txt = txt.lower()
    for ch in '|"#$%^&*(),./':#反正就是一堆字符,我觉得也可以用Ascll码来做也是可以的
        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))


目录
相关文章
|
28天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
29天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
29天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
38 7
|
1月前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
94 8
|
30天前
|
开发者 Python
Python中的装饰器:从入门到实践
本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
42 5
|
29天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
70 3
|
1月前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
8月前
|
人工智能 Java Python
python入门(二)安装第三方包
python入门(二)安装第三方包
108 1
|
3月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
88 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda