python初学21.Python特色数据类型(元组)(下)

元组和列表相互转化

python初学21.Python特色数据类型(元组)(下)_第1张图片

没错,只要在原来的列表外套一层tuple()就可以转为元组

在原来的元组外面套一层list()就可以转为列表

还记得列表生成式么?

你以为它很简单就过去了么?

不!

它又回来了!

这次,把元组也加进来一起开party了

python初学21.Python特色数据类型(元组)(下)_第2张图片

还记得讲列表生成式的时候举了个排列组合的例子么?

当时是用的字符串连接操作,如果加上元组的操作呢?

python初学21.Python特色数据类型(元组)(下)_第3张图片

是不是也可以

如果字符串里有重复的字符,而我们要找不同的字符的排列组合,该怎么操作?

就像四个队伍,要找出所有打球比赛可能情况(有主客场之分)

python初学21.Python特色数据类型(元组)(下)_第4张图片

我们不希望看到上图红框里 ,因为这是和自己队打自己队,不科学

我们可以加个条件判断来筛选我们要的:

python初学21.Python特色数据类型(元组)(下)_第5张图片

这样就ok了,再一次体现出列表生成式的强大

回头想想

如果我们用一般循环,怎么写?

python初学21.Python特色数据类型(元组)(下)_第6张图片

我们要写这么多行(思路是,先创建一个空列表,然后双层循环,判断两个字符串中取的元素是否相等,不相等则将其组成元组放入列表中)

元组解包

我们在创建元组的时候,其实是在进行元组打包

打包,你懂的,让朋友同学家人给你带外卖需要使用这项技能

python初学21.Python特色数据类型(元组)(下)_第7张图片
python初学21.Python特色数据类型(元组)(下)_第8张图片

通过观察上图,你可能已经知道了元组解包其实就是:

将等号右侧的元组中的元素按顺序依次赋值给等号左边的变量

当然,如果你少写左边的变量,会发生什么呢??

可能我只想要元组前三个元素

python初学21.Python特色数据类型(元组)(下)_第9张图片

结果报错啦!所以要写完整左边的,一 一对应好

小明:元组操作方法比列表少?为啥还要学这个!感觉没啥优势!

python初学21.Python特色数据类型(元组)(下)_第10张图片

小明啊!元组在某些方面有优势的:

1.元组的运算速度比列表快,如果你经常要遍历一个序列,且不需要修改内容,用元组比列表好

2.元组相当于给数据加了保护(不可修改),有些场合需要这种不可修改的内容

想想我们生活中的很多通知说明等word文件不就是只读不可写么,能理解了吧

小明:震惊!元组在这种情况下竟然能将劣势转为优势

python初学21.Python特色数据类型(元组)(下)_第11张图片

今天作业是自己跟着操作一遍~

自己不敲代码永远学不会写代码

下课

人生苦短,我选Python

你可能感兴趣的:(python初学21.Python特色数据类型(元组)(下))