前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 中数据的处理(元组) ——(一)

Python 中数据的处理(元组) ——(一)

作者头像
Gorit
发布2021-12-09 15:28:54
9290
发布2021-12-09 15:28:54
举报
文章被收录于专栏:Gorit 带你学全栈系列

学一门程序语言,你得清楚这个这个程序是怎么存储数据得把,你只有了解了它得存储结构,才能进行更深刻得数据处理把,下面我来讲讲我在学得过程中Python 得三种数据处理中会用到得存储结构

Python 也提供了几种不同的存储结构来存储我们的数据,它们分别是 :元组,列表和字典

下面我们先从元组讲起,目录如下:

目录

一、元组

Q1:一般我们学编程常常会遇到很多字符串,但是有的时候字符串的规模过于庞大的时候,我们想要查找我们需要的数据的时候,又不知道如何处理时,这个时候要怎么 办的呢?

Q2:我们之前可以用简单的判断结构,来通过输入一个(1—7)之间的任意数字,然后输出对应的星期几,程序实现如下:

Q3:我们知道了元组是Python中的一种数据结构,它可以存储不同的数据类型,比如数字,还有字符等等,但是我们能不能对元组中的数据整体进行操作呢?

Q4: 但是这样有时候得到的并不是我们想要的数据,于是就有了切片的操作

Q5:切片处理了这么多数字,那切片还能不能处理字符串呢?

Q6: 有一点值得提醒,Python中元组中的数据是不可改变!!!

Q7:用元组来读取函数中得多个返回值

Sum:总结

一、元组

Q1:一般我们学编程常常会遇到很多字符串,但是有的时候字符串的规模过于庞大的时候,我们想要查找我们需要的数据的时候,又不知道如何处理时,这个时候要怎么 办的呢?(用元组存放数据)

这个时候需要我们找一个容器来存放这些数据,所以 元组就是这样的存储容器,下面我们看看如何定义一个元组

先看下面的程序,这样我们就定义好了一个元组

代码语言:javascript
复制
 tuple = (10,200)

元组是 Python 中特有的,和大多数编程语言一样,元组也可以类比 C 语言中的数组,元组的第一个元素是从0开始的,也就是代表第一个元素,我们来看看交互式模式中看看这个程序

元组不仅支持数字, 还支持字符串的输入呢!

代码语言:javascript
复制
mytuple = (10,"awesome")
print(mytuple[0])
print(mytuple[1])

 相必你也猜到了,程序会分别输出 10 和 awesome,但是问题来了

Q2:我们之前可以用简单的判断结构,来通过输入一个(1—7)之间的任意数字,然后输出对应的星期几,程序实现如下:

代码语言:javascript
复制
day1 = 'Monday'
day2 = 'Tuesday'
day3 = 'Wednesday'
day4 = 'Thursday'
day5 = 'Friday'
day6 = 'Saturday'
day7 = 'Sunday'
x = int(input('Please input a number:'))

if x == 1:
    print(day1)

elif x==2:
    print(day2)

elif x==3:
    print(day3)

elif x == 4:
    print(day4)

程序运行结果如下:

但是这么长的代码显然看起来有些冗余,还会占用大量的资源,不符合我们写程序要求的代码保持简洁

所以,这个时候元组就能发挥它的作用了,我们用一个元组放入我们一周中的七天,然后输入其中的一天,然后再用输出函数打印就可以了

代码语言:javascript
复制
days = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')

x = int(input('please input a number:'))

print(days[x-1])#没忘记吧,元组是从0开始的

这里程序的运行结果和 上面是一样的,这就是元组的 魔力

Q3:我们知道了元组是Python中的一种数据结构,它可以存储不同的数据类型,比如数字,还有字符等等,但是我们能不能对元组中的数据整体进行操作呢?

 我们可以用print函数打印出元组中的所有元素,还可以用循环打印出每单个元素

代码语言:javascript
复制
mytuple = (1,'Hello','达瓦达瓦')
print(mytuple)

for x in mytuple:#将元组中的每一个数据遍历一遍,在打印下来,也就是用for循环来使用元组中的数据
    print(x)

程序运行结果

Q4: 但是这样有时候得到的并不是我们想要的数据,于是就有了切片的操作

代码语言:javascript
复制
方法一
mytuple = (1,122,32,3434,444,1000,4443,9000)

for x in mytuple[0:3]:#不打印第三个元素,方括号中前一个数字代表开始的,第二个代表结束的数字
    print(x)

方法二
for i in mytuple[:3]: #告诉编辑器只显示前三个元素
    print(i)

 这两种操作是等价的,运行结果

这里还有一点,如果我们想要直接打印最后一个元素

代码语言:javascript
复制
#这样直接打印前面我们定义的元组中的最后一个数
print(mytuple[-1])

这里还有另一种切片的操作

代码语言:javascript
复制
mytuple = (1,122,32,3434,444,1000,4443,9000)
for t in mytuple[3:]:  #这次的循环是跳过前三个元素,直接打印后面的元素
    print(t)

运行结果

 Q5:切片处理了这么多数字,那切片还能不能处理字符串呢?

 答案是可以的,看下面的程序

代码语言:javascript
复制
mytuple1 = 'Python is totally awesome!'
for i in mytuple1[::2]:
    print(i)

 这里我们给切片增加了第三个参数,它的实际作用是每次循环遍历元素的时候,跳过两个元素

下面是程序的运行结果

Q6: 有一点值得提醒,Python中元组中的数据是不可改变!!!

 我们先看看这个程序

代码语言:javascript
复制
mytuple3 = (3,2,'222')
mytuple3[0] = 24

这个时候程序会报错 

 这个时候编辑器告诉我们,tuple(元组),不支持这个任务,也就是指给元组中的数据赋值

所以使用Python中的数据结构进行存储数据的时候,要明确区分:元组,列表,字典的工作方式

Q7:用元组来读取函数中得多个返回值

定义函数my_func 有多个返回值,然后我们就可以将这些数值存储到,我们定义得元组(mytuple)当中,然后就可以打印我们需要得函数返回值了!

代码语言:javascript
复制
def my_func():
    return (11,22,33,44,55,66)

mytuple = my_func()
print(mytuple[0])
print(mytuple[1]) #访问特定位置的元素
print(mytuple)  #直接访问返回的所有值

程序运行结果

Sum:总结

Python中的元组支持我们进行存储不同的类型,在 读取数据的过程中,我们需要用到切片的操作,切片的位置可以放三个值,第一个放起始元素的值,中间的放结束元素的位置,最后一个位置一般在循环中使用,它的作用是在每次循环之后跳过多少个元素,元组的作用远不止这些,看它还可以去存储含有多个返回值的函数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/01/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、元组
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档