人话学Python-列表

零:序列

        序列是Python中最基本的数据结构。对于序列中的每一个值都有其对应的位置,在Python中称为索引。由于Python中的计数逻辑,第一个索引为0,第二个索引为1,以此类推。

        Python中有6个序列的内置类型:列表、元组、字符串、Unicode字符串、buffer对象和 xrange对象。

一:列表

        列表是最常见、最常用的序列。常用的操作有索引、切片、加、乘、检查成员等。

        创建列表

        对于新建一个列表,通过方括号进行初始化。一个列表中可以存在不同的数据类型。如果要创建空列表在方括号内不添加任何数据即可。

list1 = ['sample a', 2024]
list2 = ["sample b", 1234]
list3 = []

        访问列表

        我们现在已经有了一个列表,现在需要取出其中的数据,这时就需要访问列表中的值。由于列表中的每一个值都有对应的索引,因此可以通过访问索引的方式访问具体数据。

        Python的索引从0开始计数,于是,列表中的第一个数据对应的索引就是0,第二个数据对应的索引是1,以此类推。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1[0])    # 访问列表第 1 个数据
print(list1[2])    # 访问列表第 3 个数据
print(list1[4])    # 访问列表第 5 个数据

>>>ShangHai
>>>red
>>>2024

        对于访问的索引也可以从列表末尾开始计数,此时,末尾第一个值的索引就是-1,倒数第二个值是-2,以此类推。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1[-1])    # 访问列表倒数第 1 个数据
print(list1[-3])    # 访问列表倒数第 3 个数据
print(list1[-5])    # 访问列表倒数第 5 个数据

>>>1949
>>>blue
>>>Beijing

         如果我们要知道列表中的所有元素,直接输出列表变量名即可。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1)

>>>['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]

        如果我们要一次性访问多个数据,比如我们要知道第一个数据到第五个数据的所有值,可以通过方括号的方式进行列表的截取。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1[0:4])    # 访问第 1 到第 5 个数据

>>>['ShangHai', 'Beijing', 'red', 'blue']

        使用方括号进行截取的这种方法同样适用于负数索引。

        如果我们要访问从某一个位置开始后面的所有数据,也可以通过方括号实现。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1[0:])    # 访问第 1 个数据之后的所有数据

>>>['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]

二:列表操作 

        列表元素的添加、更新和删除

        列表元素的添加可以通过加法操作直接实现

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
list1 += ['yellow']
print(list1)

>>>['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949, 'yellow']

        也可以通过append()的方法实现。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
list1.append('yellow')
print(list1)

>>>['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949, 'yellow']

        两种方法都是默认在列表末尾添加数据和索引。

        如果我们知道一个数据和它的索引,我们可以通过索引直接修改元素值

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
list1[3] = 'yellow'
print(list1)

>>>['ShangHai', 'Beijing', 'red', 'yellow', 2024, 1949]

        对于删除操作可以使用 del 语句,删除后,该位置后面的所有元素会自动向前位移一位,并改变原先索引指向的值。

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
print(list1[2])
del list1[2]
print(list1[2])

>>>red
>>>blue

        列表整体操作

list1 = ['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949]
length = len(list1)     # 计算列表长度
print(length)

list2 = ['yellow', 1234]
list3 = list1 + list2   # 列表相加,默认添加到末尾
length = len(list3)
print(length)
print(list3)

listnum = [1, 2, 3]
listnum *= 4            # 列表元素重复,相当于自己和自己相加n次
length = len(listnum)
print(length)
print(listnum)

judge = 3 in listnum    # 判断元素是否存在列表中
print(judge)

>>>6
>>>8
>>>['ShangHai', 'Beijing', 'red', 'blue', 2024, 1949, 'yellow', 1234]
>>>12
>>>[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>>True

        列表嵌套

        类似与C语言中的多维数组,也可以理解为在“背包里塞背包”

list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
listnum = [list1, list2]
print(listnum)

print(listnum[0])

print(listnum[0][2])

>>>[[1, 2, 3, 4], [5, 6, 7, 8]]
>>>[1, 2, 3, 4]
>>>3

三:列表函数和方法 

        函数:

list1 = [0, 1, 2, 3, 4]
print(len(list1))   # 返回列表长度
print(max(list1))   # 返回列表最大值
print(min(list1))   # 返回列表最小值

>>>5
>>>4
>>>0

        方法:

list1 = [0, 1, 4, 2, 3]
print('Origin:', list1)

list1.append(4)                   # 在列表末尾添加数据
print('append:', list1)

print('count:', list1.count(4))   # 计算数据在列表中出现的次数

print('index:', list1.index(2))   # 返回数据在列表中第一次出现对应的索引

list1.insert(3, 2)                # 在指定索引位置插入数据
print('insert:', list1)

list1.pop()                       # 默认删除列表最后一个数据
print('pop:', list1)

list1.remove(2)                   # 删除列表中第一次出现的指定数据
print('remove:', list1)

list1.reverse()                   # 列表翻转
print('reverse:', list1)

list2 = list1.copy()              # 列表复制
print('copy:', list2)

list1.sort()                      # 列表递增排序
print('sort:', list1)

list2.sort(reverse=True)          # 列表倒序排序
print('sort reverse:', list2)

>>>Origin: [0, 1, 4, 2, 3]
>>>append: [0, 1, 4, 2, 3, 4]
>>>count: 2
>>>index: 3
>>>insert: [0, 1, 4, 2, 2, 3, 4]
>>>pop: [0, 1, 4, 2, 2, 3]
>>>remove: [0, 1, 4, 2, 3]
>>>reverse: [3, 2, 4, 1, 0]
>>>copy: [3, 2, 4, 1, 0]
>>>sort: [0, 1, 2, 3, 4]
>>>sort reverse: [4, 3, 2, 1, 0]

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值