上一节:
不知道你们上节课的代码,有没有好好研究,真的很有趣,你也可以举一反三。今天我们就来学"元组"。
元组与列表相似,不同的是元组的内容是不能改变的。他们格式也不一样,列表使用"[]" ,而元组使用"()"。
List的大坑 传说中的0和1
# 数据不知不觉的改变 #
你可能觉得值改变不改变有什么大不了的,但是只要你稍不注意,你连错哪都不知道。
从上面的代码你可以看见,这是正常人的思想对吧,代码也没有错,刚开始给span赋值50,然后把span的值赋值给cheese,所以此时span的值为50,然后又把100赋值给span。所以输出来,span=50,cheese=100。
你就会惊讶的发现,span的值被改了。但是你明明没改span呀,你只是改了cheese呀。
一般的定义变量,就相当于一个盒子里面放了一个东西,谁都可以用,然后也可以把东西改掉。加一个变量呢,就加一个盒子,再往里面加东西。
定义列表呢却不一样,是把值放进去,然后其他名字只是个标记号,只要用户有用到,程序就告诉用户,我把值放在这个房间了,你去改吧,去用吧。但是只要值是一样,无论变量多少个,都是指向这个值。
所以一些不需要改变的值,还算建议用元组来保存。那元组一般用来保存什么呢
元组的使用 别人家的孩子总比你聪明
# 定义 #
基本格式:元组名+(),括号内的值用逗号隔开。
跟列表一样,括号里面可以放各种值。字符串、整型、浮点型、布尔值、等等。
要注意,当你元组内只有一个值是,后面是需要加逗号的,否则就会出错。从上图你可以看出,当你不加逗号时,它就不认为你是一个元组,直接就输出了字符串‘Hello’,而不是你所认为的元组。
# 转化 #
这就好比str()函数可以将任何类型转化成字符串。同样的原理,list()和tuple()函数将返回列表和元组类型的值。
如果只输入一个字符串,则默认把这个字符串所有字母拆开。
# 访问 #
元组的访问和列表一样,都是根据下标来访问。
# 修改 #
元组的值是不可以被修改的,所以没有列表那些修改的方法。但是你可以用del语句来删除整个元组。
元组的运算 内置函数.
# 基本运算 #
虽然元组的值是不可以修改的,但是可以运算,变相修改。基本运算里的加法和乘法。加法就是两个元组相加,乘法呢,就是把里面的值复制出来,同列表一样。
# tuple函数 #
将列表转化为元组