【小白指南】Python中有哪些数据类型?(附推文合集)
本文作者:王子一,中南财经政法大学金融学院
文字编辑:方 言 技术总编:张馨月
爬虫俱乐部云端课程
爬虫俱乐部在过去的两年里发布了上百篇与Python学习相关的推文,在接下来的两周中,小编将对这些内容进行分类整理与梳理,希望可以对想要入门或正在学习Python的小伙伴一些帮助。话不多说,我们直接上干货~
对于初次接触Python的同学,可以参考下面几篇推文了解Python的基本使用:
浅谈使用python处理数据的日常经验了解数据类型是学习Python的基本功,我们在之前的推文中也做过详细介绍,大家可以收藏一波↓↓↓
数值型
字符型
列表
字典
集合
综合
在Python中,共有如下六种基本数据类型:
不可变数据 | 可变数据 |
---|---|
数字(Number)、字符串(String)、元祖(Tuple) | 列表(List)、字典(Dictionary)、集合(Set) |
下面依次进行简单介绍:
数字
Python中包含的数字类型有如下几种:
比如,我们可以输入下面几行代码:
a = 5
b = 5.5
c = 5 - 5j
d = 1 == 2
print(type(a),type(b),type(c)) #a、b、c分别为整数、浮点数、复数
print(d,type(b)) #d用来判断1与2是否相等,结果为假,则返回False
print(float(a),complex(a),int(b)) #函数int()、float()、comlex()可用于转化数据类型
结果如下:
字符串
字符串是指一系列单个字符组成的数据结构,可以使用英文格式的单引号(')或双引号(")定义;当文本本身包含引号时,可以使用长注释(''')作为边界符。同时,字符串支持通过索引值查找和切片操作,用法如下:
#定义字符串
str1 = 'abc'
str2 = '''abc isn't abcd '''
#字符串的索引
print(str1[0]) #索引值为0的字符
#字符串的切片
print(str2[0:2]) #索引值为0-2的字符
print(str2[-4:]) #倒数第四个字符至结尾
print(str2[::]) #整个字符串
输出结果如下:
此外,字符串的使用还涉及到各类非常丰富的方法,这里列举其中的部分:
功能 | 方法 |
---|---|
查看元素 | str.index() str.find() str.count() |
字母大小写转换 | str.capitalize() str.lower() str.casefold() str.upper() |
指定字符替换 | str.replace() str.translate() |
列表(list)
列表是由一系列按特定顺序排列的元素组成的有序集合,也是Python中使用最为频繁的数据类型之一。列表同样可以进行切片和索引,这里对其用法做简单展示:
#定义列表
list1 = [2,5,'a',7] #列表可以容纳不同类型的元素
list2 = [3,5,7,[9,11]] #列表中可以嵌套
#访问列表
print(list1[2]) #索引
print(list2[1:3]) #切片
#更改元素
list1[1] = 'b' #将索引值为1的元素修改为b
list2[2:] = '' #将索引值为2的元素到列表的结尾修改为空
print(list1)
print(list2)
输出结果如下:
同时,列表本身中内置了很多方法,可以简化我们的许多操作:
功能 | 方法 |
---|---|
增加元素 | list.append() list.extend() list.insert() |
删除元素 | list.pop() list.remove() list.clear() |
查看元素 | list.index() list.count() |
元素排序 | list.reverse() list.sort() |
元祖(tuple)
元组是由括号与逗号创建的,它与列表的相似之处在于可以包含任意数据类型,可以进行索引和切片,我们可采用如下方式定义和访问:
#定义元组
tuple1 = (1,'python',2,'home') #元素可以是任意类型
tuple2 = (1,) #元素只有一个时,后面要带有逗号“,”
#访问元组
print(tuple1[2]) #索引
print(tuple2[0:2]) #切片
输出结果如下:
与列表不同的是,元祖是不可变对象,其中的元素是不可修改的,如下所示:
正是因为元祖不可变的特性,它不具备remove、append、extend等方法,不过,它仍然可查看元素的索引值和频次:
字典(dict)
字典是除列表以外Python之中最灵活的内置数据结构类型,它也是一种可变容器模型,但是无序的。字典当中的元素是通过键来存取的,因而具有极快的查找速度。它用“{ }”标识,由索引(key)和它对应的值(value)组成。下面进行举例展示:
#定义字典
dict = {'Jennie': 99, 'Bob': 65, 'Tom': 85} #一个key只能对应一个value
#访问字典
dict #输出完整的字典
dict.keys() #输出所有键
dict.values() #输出所有值
dict['Jennie'] #输出“Jennie”的值
#修改字典
dict['Bob'] = 78 #更新"Bob"的值
dict['Helen'] = 99 #添加信息"Helen"
输出结果为:
字典中的键值对具有两个特性:
1)键必须是唯一的,但值则不必;
2)键必须是不可变的,如字符串、数字或元组,但值可以取任何数据类型。
字典还具有其他几个内置函数和功能,如下所示:
功能 | 方法 |
---|---|
访问字典的键值 | dict.keys() dict.values() |
判断键值是否存在 | dict.get() dict.setdefault() |
删除键值 | dict.pop() dict.popitem() |
清空字典 | dict.clear() |
把字典dict2更新到dict里 | dict.update(dict2) |
集合(set)
集合是一个无序的不重复元素序列,与dict类似,也是一组key的集合,但不存储value。需要注意,创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。集合最大的特点在于其元素的不可重复性,如下所示:
在集合中也内嵌了很多方法,这里做简单整理:
功能 | 方法 |
---|---|
集合的赋值 | S.add() S.update() S.copy() |
删除集合中的元素 | S.discard() S.pop() S.remove() S.clear() |
交集运算 | S.intersection() |
差集运算 | S.difference() S.difference_update() |
并集运算 | S.union() |
以上内容就是对Python数据类型的简单梳理,这些基本概念必须要牢牢记住并熟悉噢,这也是学好Python的第一步,感兴趣的小伙伴快动手试试吧,一起加入Python的大家庭~除此之外,运算符在各种数据类型中也有非常丰富的应用,欢迎大家关注我们的后续相关介绍~
轻松获取通行数据——cntraveltime命令介绍
让Stata完美牵手中国地图之cnmapsearch
自然语言分析——利用NLTK进行文本预处理
寻找B站的最爱--8月B站全站榜爬虫
cnaddress命令——实现经纬度转换为中文地址
Python入门—Spyder的简单使用
追踪命令set trace on——解你燃眉之急
爬虫大杀器 | “手把手”教你配置Selenium
小白必看!Anaconda安装全攻略
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。