zl程序教程

您现在的位置是:首页 >  Python

当前栏目

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

2023-04-18 14:51:43 时间

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

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

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

目录

一、元组

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

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

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

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

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

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

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

Sum:总结

一、元组

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

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

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

 tuple = (10,200)

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

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

mytuple = (10,"awesome")
print(mytuple[0])
print(mytuple[1])

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

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

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)

程序运行结果如下:

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

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

days = ('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')

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

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

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

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

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

mytuple = (1,'Hello','达瓦达瓦')
print(mytuple)

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

程序运行结果

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

方法一
mytuple = (1,122,32,3434,444,1000,4443,9000)

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

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

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

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

#这样直接打印前面我们定义的元组中的最后一个数
print(mytuple[-1])

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

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

运行结果

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

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

mytuple1 = 'Python is totally awesome!'
for i in mytuple1[::2]:
    print(i)

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

下面是程序的运行结果

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

 我们先看看这个程序

mytuple3 = (3,2,'222')
mytuple3[0] = 24

这个时候程序会报错 

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

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

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

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

def my_func():
    return (11,22,33,44,55,66)

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

程序运行结果

Sum:总结

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