java的for循环取出数据只是拿到最后一个_人生苦短,你用Python吗?(七)数据结构——元组、列表...

人生苦短,你用python吗?

化学专业的小凯,却喜欢上了计算机语言,业余时间入门了python,从此无法自拔,话不多说,接下来与大家分享我的学习笔记。(元组、列表)

Python中的数据结构主要有序列、集合、字典。

一.元组

元组(tuple)是一种序列(sequence)结构。

1.序列

序列是一种可迭代的、元素有序、可以重复出现的数据结构,序列可以通过索引访问元素。

序列包括:

  • 列表(list)
  • 字符串(str)
  • 元组(tuple)
  • 范围(range)
  • 字节序列(bytes)

序列可进行的操作有索引、分片、加和乘。

2.创建元组

元组是一种不可变序列,一旦创建就不能修改。创建元组可以使用tuple([iterable])函数或者直接用逗号将元素分开。

76f1152d1f51eb22eea798a5feee4960.png

创建元组需要注意:

d72171831920226d40b469d131d7c6c8.png

()可以创建空元组

元组只有一个元素时,后面的逗号不能省略

3.访问元组

元组作为序列可以通过下标索引访问其中的元素,也可以对其进行分片。

d98f572f40b9b2740f347611e7a5d730.png

元组还可以进行拆包(Unpack)操作,就是将元组的元素取出来赋值给不同的变量。

bcc63d63da1b95384c322a3e4b6e17a3.png

第①行是将元组a进行拆包操作,接收拆包元素的变量的个数应该等于元组个数,接收变量个数可以少于元组个数。第②行接收变量个数只有三个,最后一个很特殊,变量n前面有个星号,表示剩下的元素作为一个列表赋值给变量n,另外,还可以使用下划线指定不取值哪些元素,第③行表示不取第二个和第五个元素。

4.遍历元组

一遍使用for循环遍历元组

5e7e84909d3d8de3e327f1d5e5a6052b.png

一般情况下,遍历目的只是取出每一个元素值,见代码第一个for循环,但有时需要在遍历的过程中同时获取索引,可以使用第二个for循环,其中enumerate(a)函数可以获取元组对象,该元组对象有两个元素,第一个元素索引,第二个是元素的值。

二.列表

列表(list)也是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除和替换列表中的元素。

1.创建列表

8e3e8bb986371d83bdf4751322dca2ef.png

创建列表时[]不能省略,否则就变成元组了。创建空列表是[ ],列表中可以放入任何对象。还可以通过list([iterable])创建,('Hello','XiaoKai',1,2,3,4,5)是一个元组,元组是可迭代对象,可以作为list()函数参加创建列表对象。

2.追加元素

列表中追加元素的方法可以使用append()方法,如果想追加另一个列表,可以使用+运算符或者extend()方法。

list.append(x) #x参数是要追加的单个元素list.extend(t) #t参数是要追加的另外一个列表
089b7b8212c7cc5b098e8a5c10112742.png

3.插入元素

插入元素可以用insert()方法,该方法可以在指定索引位置插入一个元素。

insert(i,x)

参数i是索引,参数x是要插入的元素

f4fb7d4248fd4934d3d5165bc34cfb2d.png

4.替换元素

通过列表下标将索引元素放在赋值符号“=”左边,进行替换。

34bf9b6806d6433eed1185a0fe2c1a20.png

5.删除元素

remove()方法和pop()方法

(1)remove()方法

从左到右查找列表中的元素,如果找到匹配元素则删除,如果找到多个匹配元素,那么只删除第一个,如果没有找到,则抛出错误

list.remove()
3f0aa861f53ff7c268546b015e6f6d4c.png

(2)pop()方法

它会将删除的元素返回

list.pop([i]) 参数i是指定删除元素的索引,可以省略,表示删除最后一个元素
a2d7ffb5396a1a603aa972d91210fe6a.png

6.其他常用方法

  • reverse():倒置列表
  • copy():复制列表
  • clear():清除列表中的所有元素
  • index(x[,i[,j]]):返回查找x第一个出现的索引,i是开始查找索引,j是结束查找索引,该方法继承自序列,元组和字符串也可以使用这个方法
  • count(x):返回x出现的次数,同样继承自序列,元组和字符串可以使用这个方法
8df07cc296ea55ea9b29b9b20768bc3b.png

7.列表推导式

他可以将一种数据结构作为输入,经过过滤、计算等处理,最后输出另一种数据结构。

  • 列表推导式
  • 集合推导式
  • 字典推导式

先说列表推导式

如果想得到0~9中偶数的平方数列,可以通过for循环实现
2d1fdd036a1fe0d0d5877656d9790f03.png

也可以通过列表推导式实现

67c0c40d403f0afad8b1a94ba0df0369.png
04cdd51ff92f529b0c404734dc99c331.png

谢谢大家,下一篇分享数据结构——集合、字典

9e1611cd60b7f35a9fe182c22adffba1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值