Python 学习笔记3 列表
python中的数组 与 js中的数组格式无异
如下面数组
spam = [1,2,3,4,5,6]
使用下标可以取得数组的中的值,下标从0开始,spam[0] 就是1
也可以使用多重数组
-
spam = [['cat','bat], [1,2,3]]
-
spam[0][1] // bat
下标不能超出数组的中,不能用浮点数,必须是正整数.
切片:切片可以从列表中获取多个值,返回一个新的列表.
-
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的值
列表的循环
-
for i in [1,2,3,4,5]:
-
print(i)
在python中经常使用range(leng(someList)) 来迭代列表的每一个下标 如下
-
supplies = ['pens', 'staplers', 'cat', 'tom', 'Fizz']
-
for i in range(len(supplies)):
-
print('Index'+str(i)+'in supplies is: '+ supplies[i])
利用in 和not in 操作符可以确定一个值是否在列表中 如下
-
'Fizz' in ['Hello', 'World', 'Fizz']
-
-
spam = [1,1,2,3,3,34]
-
5 in spam
-
5 not in spam
多重赋值很像es6的解构,在一行代码里将列表中的多个变量赋值
如下
-
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()函数可以对列表进行深复制,不再指向一个内存地址
如
-
import copy
-
spam = [1,2,3,4]
-
cheese = copy.copy(spam)
-
cheese[1] = 43
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/100517302
- 点赞
- 收藏
- 关注作者
评论(0)