查看原文
其他

【基础篇】数据类型介绍——list、tuple和range对象

爬虫俱乐部 Stata and Python数据分析 2023-01-01

本文作者:赵一帆  中南财经政法大学金融学院

本文编辑:郭培军

技术总编:孙一博

Stata&Python云端课程来啦!

      好消息好消息,爬虫俱乐部开辟小鹅通战场!!爬虫俱乐部隆重推出小鹅通网络课程,将Stata基础课程Stata进阶课程Python课程都上传至小鹅通平台,欢迎大家多多支持订阅!报名课程即可加入答疑群,对报名有任何疑问欢迎在公众号后台留言哦。如需了解详情,可以通过课程链(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~


导读

据结构类型是指用来存储数据、文字、字符、二进制和类对象,进一步方便操作查找存储内容的结构。据结构类型分为序列类型、集合类型和映射类型;而其中序列类型是Python数据类型的内置基本数据类型,有3种基本序列类型:List、Tuple和Range。掌握基本的数据结构对于掌握学好后续内容是大有裨益的,下面我们介绍以下三种序列数据类型:列表、元组和range对象。


一列表
列表(List)是可变的有序序列,通常用于存放同类项目的集合。

1.创建列表
构建列表一般使用一对方括号,列表中的内容要以逗号分隔,可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,可以嵌套列表,如我们创建的列表list2。列表支持嵌套,即列表中的元素本身就可以是一个列表或者元组等序列。
list1 = ['爬虫', 3, 6.66, True] #可以包含数值型、字符型、布尔型等各种数据类型list2 = ['爬虫', 3, [6.66,True]]print(list1) # 输出完整列表print(list2)

输出结果如下:


2.列表的截取与连接
表达式描述
L[i]读取索引元素为i的元素
L[-i]从右侧开始读取倒数第i个元素
L[i:]输出索引为i开始的所有元素

在Python中使用索引时,注意索引值正序是从0开始计数,逆序是从-1开始计数。

List3 = ['爬', '虫', '俱','乐','部']List4 = [1, 2, 3]x = [List3, List4]print(List3[0]) #输出第一个列表元素print(List3[2:]) #输出第三个元素之后的而所有元素print(List4[-3:-1]) #输出倒数第三个元素和倒数第二个元素print(List4*2) #列表复制两次并输出print(List3+List4)print(x[0][2]) #输出x列表的第一个列表的第3个列表元素

输出结果如下:


3.列表的内置函数

列表自身有许多内置函数,下面简要介绍list.append()list.count()list.extend()这三种内置函数。list.append()表示在列表末尾添加新的对象、list.count()表示统计某个元素在列表中出现的次数、list.extend()表示用新列表扩展原来的列表。

list1= ['hello','hello', 'world']print("原列表:",list1)# 在列表末尾加新的对象list1.append('666')print("更改后的列表为:",list1)#展示列表元素出现次数print("hello出现的次数为:",list1.count("hello"))# 扩展列表元素list2=list(range(4)) # 创建 0-4 的列表list1.extend(list2) print(list1)

输出的结果如下:

二元组
元组是不可变序列,"不可变"指的是元组所指向的内容不可变,元组和列表均可以包含任意数据类型,元组中的元素不能被修改。

1.创建元组
元组写在小括号里面,元素之间用逗号隔开。
t1 = (66,'abc',3.3) #元组中可以包含任意类型的元素t2 = (66,) #元组中如果只包含一个元素,需要在这个元素后面加上逗号t3 = (66)print(t1)print(t2)print(t3)print(type(t2),type(t3))

输出结果如下:

需要注意的是如果元组中仅包含一个元素,需要在这个元素后面加上逗号,否则括号会被当作运算符使用。在上面的例子中,t2输出的类型是元组,t3输出的类型是整数。


2.元组的连接与删除

元组的截取操作语句与列表的截取类似,所以本文不再赘述。下面主要介绍元组的连接与删除。与列表不同的是,元组中的元素值不允许修改或者删除,但是可以对元组进行连接与删除。

tuple1 = ('abc',123)tuple2 = (6.6,'python',3.6)print(tuple1)print(tuple2)# 元组的连接组合tuple3 = tuple1 + tuple2print(tuple3)#删除整个元组del tuple3

输出结果如下:

三range对象

range对象表示不可变的数字序列,通常用在for循环中指定次数。range类型构造时需要调用系统模块函range(stop)或者是range(start,stop,step)。下面可以举一个简单的例子帮助大家理解~

print(list(range(10)))print(list(range(1,6)))print(list(range(0,12,3))) #起始值为0,终止值为12,步长为3print(list(range(-5,-55,-10))) #起始值为-5,终止值为-55,步长为-10

输出结果如下:

四总结
1.元组或字符串可以转换成列表:使用列表的内置函数list(seq)函数
tuple = ( 'hello', 'world','!')list5 = list(tuple)print ("列表元素 : ", list5)
转换结果如下:

2.字符串、列表等也可以转换为元组:使用元组的内置函数tuple()函数
list6 = ['hello','girl']print(type(list6))t = tuple(list6)print(t)

转换结果如下:

3.range对象内存占用小:listtuple相比,range对象总是占用固定数量的(较小)内存,因为它只保存了start, stop和step值。
4.列表是可变的序列;元组和列表是不可变的序列。
5.列表可以进行切片、修改、连接、重复、for循环遍历等操作;元组可以进行访问、连接、重复等操作;range对象常用于for循环遍历。


以上就是列表、元组和range对象的用法和不同之处啦,大家在具体问题中需要进行灵活的运用~


END


最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。



对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!








往期推文推荐

       覆盖北交所的“cnstock”复工了!

高考热度大数据爬虫——谁才是院校顶流

跨框架数据操作

      河南大学经济学院2022年Stata数据处理与爬虫技术开班仪式顺利召开

爬虫俱乐部的精彩答疑——local function

爬虫俱乐部精彩答疑——Python中的三种文件读取方法爬虫俱乐部的精彩答疑--认真仔细方能写出好程序
爬虫俱乐部Python精彩答疑——更换Jupyter Notebook浏览器及dropna()参数详解
       爬虫俱乐部的精彩答疑--如何打开Excel中扩展名与文件源码不符的文件

解锁《梦华录》之东京繁华生活

爬虫俱乐部的精彩答疑——DOS命令

爬虫俱乐部的精彩答疑之换行问题

爬虫俱乐部的精彩答疑--路径设置乱码怎么破?

爬虫俱乐部的精彩答疑--putdocx的二三事

爬虫俱乐部精彩答疑之Python篇

爬虫俱乐部的精彩答疑--花式重命名变量

      今天你还是“刘畊宏女孩”吗?

爬虫俱乐部在山东财经大学金融学院暑期Stata网课上的精彩答疑

JupyterNotebook——如何更换默认文档目录

Stata绘图系列——玩转绘图通用选项(一)

关于我们 


   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里
为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众
号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存