Python 学习笔记3 列表

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/github_35631540/article/details/100517302

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

 

 

 

 

 

 

 

文章创建于: 2019-09-03 17:31:23
展开阅读全文

没有更多推荐了,返回首页