前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习笔记3 列表

Python 学习笔记3 列表

作者头像
拿我格子衫来
发布2022-01-24 10:08:59
3790
发布2022-01-24 10:08:59
举报
文章被收录于专栏:TopFETopFE

python中的数组 与 js中的数组格式无异

如下面数组

代码语言:javascript
复制
spam = [1,2,3,4,5,6]

使用下标可以取得数组的中的值,下标从0开始,spam[0] 就是1

也可以使用多重数组

代码语言:javascript
复制
spam = [['cat','bat], [1,2,3]]
spam[0][1]   // bat

下标不能超出数组的中,不能用浮点数,必须是正整数.

切片:切片可以从列表中获取多个值,返回一个新的列表.

代码语言:javascript
复制
spam = [1,2,3,4,5,6,7]
spam[0:4]  // [1,2,3,4]

在切片中第一个整数为切片的开始处下标,第二个整数是切片的结束处下标,切片向上增长,直到第二个下标,但不包括它,

省略第一个参数如spam[:2] 相当于默认开始从0开始,

省略第二个参数,则默认到列表结尾,spam[1:]

如果两个参数都省略,则默认从0到列表结尾,完整拷贝一份spam[:]

数组长度可以使用len()函数来获取

如:

spam = [1,2,3,4]

len(spam)

使用下标改变列表中的值,spam[1] = 'asd'

spam[-1] = 1232 将列表 spam的最后一个元素改成1232

列表的链接时候用加号 +

如 [1,2,3,4,5] + [6,7,8,9] // [1,2,3,4,5,6,7,8,9]

*号可以实现列表的复制 如

[1,2,3] * 3 // [1,2,3,1,2,3,1,2,3]

使用del语句从列表中删除值

del spam[2] // 删除下标为2的值

列表的循环

代码语言:javascript
复制
for i in [1,2,3,4,5]:
  print(i)

在python中经常使用range(leng(someList)) 来迭代列表的每一个下标 如下

代码语言:javascript
复制
supplies = ['pens', 'staplers', 'cat', 'tom', 'Fizz']
for i in range(len(supplies)):
  print('Index'+str(i)+'in supplies is: '+ supplies[i])

利用in 和not in 操作符可以确定一个值是否在列表中 如下

代码语言:javascript
复制
'Fizz' in ['Hello', 'World', 'Fizz']

spam = [1,1,2,3,3,34]
5 in spam
5 not in spam

多重赋值很像es6的解构,在一行代码里将列表中的多个变量赋值

如下

代码语言:javascript
复制
cat = ['fat', 'black', 'loud']
size, color, disposition = cat

在python中也可以使用 += 1这种增强赋值

spam + =1 等于 spam = spam +1 榆与此类似的还有

spam += 1; spam -= 1; spam *= 1; spam /= 1; spam %= 1;

数组中查找值 使用index() 方法

[1,2,3,4].index(1) // 返回第一个下标

使用append() 和insert() 方法在列表中添加值

append是向列表末尾追加元素,insert是向数组中插入一个 ,insert()方法第一个参数表示新值的下标,第二个表示要插入的值

[1,2,3].append(4) // [1,2,3,4]

[1,2,3,4].insert(1,1) // [1,1,2,3,4]

使用remove() 方法从列表中删除值 只会删除第一个值

[1,2,3,4,5].remove(4) // [1,2,3,5]

使用sort方法可以将列表的值排序

[2,3,4,1,4,7].sort() // [1,2,3,4,4,7]

[2,3,4,1,4,7].sort(reverse =True) // [7,4,4,3,2,1] 传入rverse = True 逆序排序

类似列表的类型:字符串和元组

字符串也可以想数组一样使用下标进行取值 切片 如 'Fizz'[0] // 'F' 'Fizz'[0:2] // 'Fi' 'Fizz' in 'F'

字符串是不可变的,它的值不能被改变,删除,添加 但列表可以添加,删除,改变,

元组数组是不可变的数据类型,使用()来表示 如 eggs = ('Hello', 0, 23,)

每个元素都不可变的, 不能eggs[1] = 2 这样写会报错 不能添加,和删除

我们可以使用list()和tuple() 函数来转换数据类型

tuple([1,2,3,4,]) // (1,2,3,4)

list((1,2,3,4)) // [1,2,3,4]

list('Hello') // ['H', 'e', 'l', 'l' , 'o'],

python中的列表也会是一个内存地址的引用,如果赋值给另一个变量,则两个变量指向同一个内存地址, 改变一个同时改变另一个,属于浅复制

使用copy模块的copy()和deepCopy()函数可以对列表进行深复制,不再指向一个内存地址

代码语言:javascript
复制
import copy
spam = [1,2,3,4]
cheese = copy.copy(spam)
cheese[1] = 43
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档