Python-列表

创建列表

普通列表

number = [1,2,3,4,5]

元素多类型列表

mix = [1,'pbc',1.414,[1,2,3]]

空列表

empty = []

向列表中添加元素

append()方法

append()方法可以向列表最后添加一个元素,例如:

number = [1,2,3,4,5]
number.append(6)
print(number)

结果是[1,2,3,4,5,6]

extend()方法

extend()方法可以拓展列表,即:将一个列表中的元素加入到另一个列表的后面。例如:

number = [1,2,3,4,5,6]
number.extend([7,8])
print(number)

输出结果为:[1,2,3,4,5,6,7,8]

insert()方法

insert()方法可以在列表的任意位置插入元素。insert()方法有两个参数,第一个参数代表在列表中的位置,第二个参数是在这个位置插入一个元素。例如:

numer = [1,2,3,4,5,6,7,8]
number.insert(1,0)
print(number)

结果是[1, 0, 1, 2, 3, 4, 5, 6, 7, 8]

number = [1,2,3,4,5,6,7,8]
number.insert(0,0)
print(number)

结果是[0, 1, 2, 3, 4, 5, 6, 7, 8]

注意:凡是顺序索引,Python均为 0 0 0开始。原因是计算机本身是二进制的,在二进制的世界里只有两个数: 0 0 0 1 1 1,因为 0 0 0是二进制数中的第一个,所以 0 0 0就习惯用于表示第一个数。

从列表中获取元素

获取元素

索引值

交换元素的简便方法

name[1], name[3] = name[3], name[1]

从列表删除元素

remove()方法

使用remove()删除元素,并不需要知道列表中的具体位置,只需要知道该元素存在列表中就可以了。如果要删除的东西根本不在列表中,程序就会报错。
例如:

name = [1,2,3,4,5]
name.remove(4)
print(name)

结果是[1,2,3,5]

del语句

del是一个语句,不是一个列表的方法。示例如下:

name = [1,2,3,4,5]
del name[3]
print(name)

结果为[1,2,3,5]

del也可以删除整个列表,例如:

del name

这样name列表就被删除了。

pop()方法

pop()默认弹出最后一个元素,但是也可以指定某一位置上的元素,下面分别示例:

name = [1,2,3,4,5]
name.pop()

输出5

name = [1,2,3,4,5]
name.pop(2)

这时,弹出的就是3

列表分片

朴素版分片

如果希望每次可以取出多个元素,那么可以使用列表分片,例如:

name = ['apple','banana','peach','pear']
name[0:2]

输出结果为:[‘apple’,‘banana’]
这里注意一点,这里的索引是左闭右开的。也就是取不到2!

如果一直从开头开始取,或者一直取到结尾,可以简写。例如:

name = ['apple','banana','peach','pear']
print(name[:2])
print(name[1:])
print(name[:])

输出结果为:

['apple', 'banana']
['banana', 'peach', 'pear']
['apple', 'banana', 'peach', 'pear']

注意:列表分片就是建立原列表的一个拷贝(或者说副本),所以如果要对列表做修改,但同时还想保存原列表,那么分片非常方便。

进阶版分片

分片操作可以接收第三个参数,代表步长,在默认情况下,步长为1。如果将步长改成2,那么就是每前进两个元素才取一个出来,如果是负数的话,就倒着取。例如:

name = [0,1,2,3,4,5,6,7,8,9]
print(name[0:7:2])
print(name[5:1:-1])

输出结果为:

[0, 2, 4, 6]
[5, 4, 3, 2]

拷贝列表

我们用分片、赋值两种方式进行列表的拷贝,代码如下:

list1 = [1,3,2,9,7,8]
list2 = list1[:]
list3 = list1

然后我们进行排序试试

list1.sort()
print(list1)
print(list2)
print(list3)

结果为

[1, 2, 3, 7, 8, 9]
[1, 3, 2, 9, 7, 8]
[1, 2, 3, 7, 8, 9]

也就是说list3跟着list1变了
其实直接赋值就相当于C++中的引用操作,list1与list3指向的是同一个东西,而分片得到的列表是复制体,与之前列表毫无关联。

一些常用操作符

比较大小

从第一个元素开始比,直到决出胜负

加号

列表拼接

乘号

复制多次

成员关系

成员关系判断用in和not in实现
例如:

name = ['apple','banana','peach','pear']
'apple' in name
'pbc' in name
'banana' not in name

分别返回 True,False,False

对于列表套列表的情况,需要先进入一层列表才可以,例如:

name = ['banana',['apple','pineapple'],'peach','pear']
'apple' in name[1]

返回True
当然,也可以像C++的二维数组那样访问

name[1][0]

返回的是’apple’

其他方法和函数

len()函数

len()函数可以返回列表的长度,例如:

number = [1,3,7,6,9]
len(number)

返回5

count()方法

count()方法的作用是计算它的参数在列表中出现的次数,例如:

number = [1,1,2,3,5,8,1,13,21]
number.count(1)

这段程序的结果是3,因为1出现了3次

index()方法

index()方法返回参数在列表中第一次出现的位置,例如:

number = [1,1,2,3,5,8,1,13,21]
number.index(1)

这里返回的是0

除此之外,index()方法还存在两个参数,用于限定查找的范围,因此可以这样查找第二个目标在number列表中的位置,具体操作如下:

start = number.index(1) + 1
end = len(number)
number.index(1,start,end)

这里返回1

reverse()方法

reverse()方法就是将列表原地翻转一遍,例如:

number = [1,2,3,4,5,6,7,8,9]
number.reverse()
number

返回[9, 8, 7, 6, 5, 4, 3, 2, 1]

sort()方法

sort()方法是用指定的方式对列表的成员进行排序,默认不需要参数,从小到大排序。例如:

number = [8,9,3,5,2,6,10,1,0]
number.sort()
number

返回值为[0, 1, 2, 3, 5, 6, 8, 9, 10]

如果想从大到小排序,那么可以用list.sort(reverse=True)来实现,例如:

number = [8,9,3,5,2,6,10,1,0]
number.sort(reverse = True)
number

返回值为[10, 9, 8, 6, 5, 3, 2, 1, 0]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值