十二·列表

今天我们来讲一下四大常用数据类型的第三个——列表。

忘了说常用四大数据类型——数字类型,字符串类型,列表类型,字典类型。


  • 序列是 Python 中最基本的数据结构
  • 序列中的每个值都有对应的“位置值”,称之为“索引
  • 第一个索引值是 0,第二个索引值是 1,依此类推。
  • Python中最常见的序列类型是"列表"和"元组"。

  • 列表是常用的Python数据类型,它是由一对中括号[],和在中括号里的元素组成。如[1,2,3]
  • 列表中的元素不需要具有相同的数据类型(一个列表里,可以有数字类型的元素,也可以有字符串类型的元素,等等),如[1,"abc",1234]
  • 列表都可以进行的操作包括:索引,切片,加,乘,检查成员
  • Python也内置了诸如“确定序列的长度”和“确定最大和最小的元素”等方法。

列表:创建

  • 创建一个列表,只需要把逗号分隔的不同的数据元素,使用中括号[],括起来即可

list1 = ['Google', 5676, 1241]

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

list3 = ["a", "b", "c", "d"] 

list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black'] 


列表:访问值

  • 通过索引列表可以进行截取、组合等操作。
  • 与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

  • 索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。

例子:

list = ['red', 'green', 'blue', 'yellow', 'white', 'black'] 

print( list[0] ) 

print( list[1] ) 

print( list[2] )

print( list[-1] )

print( list[-2] )

结果为:

red

green

blue

black

white


列表:切片

  • 使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符,类似于字符串的切片

例子:

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]

print(nums[0:4])

print(nums[1:-2])

结果为:

[10, 20, 30, 40]

[20, 30, 40, 50, 60, 70]


列表:更新

  • 你可以对列表的数据项进行修改或更新
  • 你可以使用 append() 方法来添加列表项
  • 你也可以使用extend()方法将另一个列表,合并到当前列表中

例子:

nums = [10, 20, 30]

print("append前的列表为:{}".format(nums))

nums.append(40)

print("append后的列表为:{}".format(nums))

print("append[1, 2]前的列表为:{}".format(nums))

nums.append([1, 2])

print("append[1, 2]后的列表为:{}".format(nums))

print("extend前的列表为:{}".format(nums))

nums.extend([50, 60, 70])

print("extend后的列表为:{}".format(nums))

结果为:

append前的列表为:[10, 20, 30]

append后的列表为:[10, 20, 30, 40]

append[1, 2]前的列表为:[10, 20, 30, 40]

append[1, 2]后的列表为:[10, 20, 30, 40, [1, 2]]

extend前的列表为:[10, 20, 30, 40, [1, 2]]

extend后的列表为:[10, 20, 30, 40, [1, 2], 50, 60, 70]

通过例子,我们可以对比出append和extend的区别:

  • append方法是将指定的元素,作为一个单独的列表项,添加到原列表中
  • extend方法是将另一个列表,合并到当前列表中

列表:删除元素

  • 可以使用 del 语句来删除列表的的元素

例子:

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]

del nums[2]

print("删除元素后的列表为:{}".format(nums))

结果为:

删除元素后的列表为:[10, 20, 40, 50, 60, 70, 80, 90]


列表:操作符

操作符:+

描述:合并列表

例子:[1,2,3] + [4,5,6]

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

操作符:*

描述:重复列表

例子:[1,2,3]*3

结果:[1,2,3,1,2,3,1,2,3]

操作符:in

描述:查看指定元素是否存在于列表中

例子:

3 in [1,2,3]

'3' in [1,2,3]

结果为:

True

False


列表:嵌套

  • 之前我们使用的列表都是一维列表
  • Python也允许我们来表示二维列表,如[['a','b', 'c'], [1, 2, 3]]

例子:

tmp = [['a', 'b', 'c'], [1, 2, 3]]

print(tmp[0])

print(tmp[1])

print(tmp[0][0])

print(tmp[0][1])

结果为:

['a', 'b', 'c']

[1, 2, 3]

'a'

'b'


列表:常用方法

len()函数主要用于计算当前列表有多少个列表项

例子:

list_1 = [1,2,3]

list_2 = [['a', 'b', 'c'], [1, 2, 3]]

print(len(list_1))

print(len(list_2))

print(len(list_2[1]))

结果为:

3

2

3

max()函数主要用于返回当前列表中的最大值

min()函数主要用于返回当前列表中的最小值

例子:

list_1 = [-1,2,3]

print(max(list_1))

print(min(list_1))

结果为:

3

-1


列表:常用函数

  • count() 方法用于统计某个元素在列表中出现的次数。

例子:

list_1 = [1, 1, 1, 2, 2, 3]

print(list_1.count(1))

print(list_1.count(2))

print(list_1.count(3))

print(list_1.count(4))

结果为:

3

2

1

0

  • index() 函数用于从列表中找出某个值第一个匹配项的索引位置。
  • 跟字符串的index()函数类似
  • 可选参数:start开始位置,end结束位置

例子:

list_1 = [1, 1, 1, 2, 2, 3]

print(list_1.index(1))

print(list_1.index(3))

print(list_1.index(1, 1)) # 从索引1位置开始查

print(list_1.index(1, 2, 5)) # 从索引2位置开始,索引5位置前结束查

结果为:

0

5

1

2

  • insert() 函数用于将指定对象插入列表的指定位置。
  • 参数为:index,想要插入的索引位置。

例子:

list_1 = [1, 1, 1, 2, 2, 3]

list_1.insert(6, len(list_1)) # 在列表最后插入

print(list_1)

list_1.insert(0, 8) # 在索引为0的位置插入

print(list_1)

结果为:

[1, 1, 1, 2, 2, 3, 6]

[8, 1, 1, 1, 2, 2, 3, 6]

  • pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
  • 返回的元素,可以赋值给一个变量

例子:

list_1 = [1, 2, 3, 4, 5, 6]

print(list_1.pop())

print("pop后的list为:{}".format(list_1))

tmp = list_1.pop(3)

print("pop索引值为3后的list为:{}".format(list_1))

print("pop后的值为:{}".format(tmp))

结果为:

6

pop后的list为:[1, 2, 3, 4, 5]

pop索引值为3后的list为:[1, 2, 3, 5]

pop后的值为:4

  • remove() 函数用于移除列表中某个值的第一个匹配项。
  • 也就是说,指定一个元素项,然后先匹配是否在列表中,如果匹配到了,就删除第一个被匹配到的元素。
  • 匹配不到的话,就会报错

例子:

list_1 = [1, 1, 2, 3, 4, 5, 6]

print(list_1.remove(1))

print(list_1.remove(3))

print(list_1.remove(7))

结果:

None

None

Traceback (most recent call last):

 File "C:/Users/xxx/PycharmProjects/NewProject/T.py", line 4, in

print(list_1.remove(7))

ValueError: list.remove(x): x not in list 

  • reverse() 函数用于反向列表中元素。
  • 就是让列表反向排列

例子:

list_1 = [1, 1, 2, 3, 4, 5, 6]

print("reverse前的列表为:{}".format(list_1))

list_1.reverse()

print("reverse后的列表为:{}".format(list_1))

结果为:

reverse前的列表为:[1, 1, 2, 3, 4, 5, 6]

reverse后的列表为:[6, 5, 4, 3, 2, 1, 1]

  • sort() 函数用于对原列表进行排序
  • 可选参数:reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)

例子:

list_1 = [1, 3, 2, -1, 4, 544, 6]

print("sort前的列表为:{}".format(list_1))

list_1.sort()

print("sort后的列表为:{}".format(list_1))

list_1.sort(reverse=True)

print("sort且降序的列表为:{}".format(list_1))

结果为:

sort前的列表为:[1, 3, 2, -1, 4, 544, 6]

sort后的列表为:[-1, 1, 2, 3, 4, 6, 544]

sort且降序的列表为:[544, 6, 4, 3, 2, 1, -1]

  • clear() 函数用于清空列表

例子:

list_1 = [1, 3, 2, -1, 4, 544, 6]

print("clear前的列表为:{}".format(list_1))

list_1.clear()

print("clear后的列表为:{}".format(list_1))

结果为:

clear前的列表为:[1, 3, 2, -1, 4, 544, 6]

clear后的列表为:[]

  • copy() 函数用于复制列表

例子为:

list_1 = [1, 3, 2, -1, 4, 544, 6]

list_2 = list_1.copy()

print("copy后的列表为:{}".format(list_2))

结果为:

copy后的列表为:[1, 3, 2, -1, 4, 544, 6]

注:部分文案和图片来自菜鸟教程网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值