Python基础知识3——列表简介

本章内容来自书籍,记录下来仅方便复习,如有侵权,请联系作者删除。

一、列表的含义

列表由一系列按照特定顺序排列的元素组成,可以由字母,数字或列表组成。

在Python语言中,用方括号([])来表示列表,并用逗号来分隔其中的元素

1. 访问列表元素
(1)列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。
访问方式:列表名称[元素的索引]

names = ['tom','john','mary','jenny']
print(names [2].title())  #Mary
print(names [2])  #mary

2. 列表的访问规则
索引为自然数,表示从列表从0开始,正向取值
索引为负整数,表示从-1开始,逆向取值

names = ['tom','john','mary','jenny']
print(names [0])   #tom
print(names [-1])   #jenny

3. 使用列表中的各个值
可以像其他变量一样使用列表中的各个值

names = ['tom','john','mary','jenny']
message = "My name is "+names[2].title()+"."
print(message)
运行结果:
My name is Mary.

二、修改、添加和删除元素

列表是动态的,是可变对象。
1. 修改列表元素
可指定列表名和元素索引,再指定该元素的新值

names = ['tom','john','mary','jenny']
print(names)
names[2] = 'airis'
print(names)
运行结果:
['tom', 'john', 'mary', 'jenny']
['tom', 'john', 'airis', 'jenny']

2. 在列表中添加元素
(1)在末尾中添加元素
使用方法append(),在列表末尾添加元素,不影响列表中的其他所有元素。

names = ['tom','john','mary','jenny']
names.append('adword')
print(names)
运行结果:
['tom', 'john', 'mary', 'jenny', 'adword']

(2)在列表中插入元素
使用方法insert(),可在列表中任何位置添加新元素,需要指定新元素的索引和值

names= ['tom','john','mary','jenny']
names.insert(1,'adword')
print(names)
运行结果:
['tom', 'adword', 'john', 'mary', 'jenny']

3. 从列表中删除元素
(1)使用del语句删除元素
del语句,根据元素的位置来删除列表中的元素,需要传递元素的索引

names = ['tom','john','mary','jenny']
del names[1]
print(names)
运行结果:
['tom', 'mary', 'jenny']

(2)使用方法pop()来弹出元素

  • 方法pop(),不传入参数,可以删除列表末尾的元素,并返回该元素的值。
names = ['tom','john','mary','jenny']
last_value = names.pop()
print(names)
print(last_value)
运行结果:
['tom', 'john', 'mary']
jenny
  • 方法pop(),在括号中指定元素的索引,即可弹出该元素。
names = ['tom','john','mary','jenny']
value_3rd = names.pop(2)
print(names)
print(value_3rd)
运行结果:
['tom', 'john', 'jenny']
mary

(3)使用方法remove()删除元素
方法remove(),根据元素的值来删除列表中的元素,需要传入元素的值

names = ['tom','john','mary','jenny']
name_delete = 'tom'
data = names.remove(name_delete)
print(names)
# 没有返回值
print(data) 
运行结果:
['john', 'mary', 'jenny']
None

方法remove()只能删除列表中的第一个指定值。如果该值不存在,则报错

names = ['tom','john','mary','jenny']
name_delete = 'tom'
names.remove(name_delete)
names.remove(name_delete)
print(names)
运行结果:
ValueError: list.remove(x): x not in list

三、组织列表

列表中元素的排序
1. 使用列表的sort()方法对列表进行永久性排序
方法sort()默认按照列表中字母的顺序,正序排序,可传入参数reverse=True/False改变排序顺序。会改变列表中的顺序。

  • 正序排序:不传入参数,或者传入参数reverse=False
names = ['tom','john','mary','jenny']
names.sort()
print(names)
运行结果:
['jenny', 'john', 'mary', 'tom']
  • 逆序排序: sort()方法传入参数reverse=True
names = ['tom','john','mary','jenny']
names.sort(reverse=True)
print(names)
运行结果:
['tom', 'mary', 'john', 'jenny']

2. 使用函数sorted()对列表进行临时排序

函数sorted()默认按照列表中字母的顺序,正序排序,可传入参数reverse=True/False改变排序顺序。不改变列表中的顺序,有返回值。

  • 正序排序:不传入参数,或者传入参数reverse=False
names = ['tom','john','mary','jenny']
names_sorted = sorted(names)
print(names_sorted)
print(names)
运行结果:
['jenny', 'john', 'mary', 'tom']
['tom', 'john', 'mary', 'jenny']
  • 逆序排序: sort()方法传入参数reverse=True
names = ['tom','john','mary','jenny']
names_sorted = sorted(names,reverse=True)
print(names_sorted)
print(names)
运行结果:
['tom', 'mary', 'john', 'jenny']
['tom', 'john', 'mary', 'jenny']

3. 使用列表的reverse()方法永久性反转列表排序
方法reverse()不是按照字母逆序排序,而是反转原列表中,列表元素的排列顺序。如需恢复列表排序,可再次调用reverse()

names = ['tom','john','mary','jenny']
#第一次反转
names.reverse()
print(names)
#第二次反转,恢复原列表顺序
names.reverse()
print(names)
运行结果:
['jenny', 'mary', 'john', 'tom']
['tom', 'john', 'mary', 'jenny']
  1. 使用函数len()确定列表的长度
    有返回值
names = ['tom','john','mary','jenny']
names_len = len(names)
print(names_len)
运行结果:
4

四、使用列表时避免索引错误

索引错误意味着Python无法理解你的索引

names = ['tom','john','mary','jenny']
print(names[4])
运行结果:
IndexError: list index out of range

五、小结

本章学习了列表的定义,如何使用列表中的元素,对列表元素进行增删操作,永久性排序,临时排序,反转,确定列表长度。

两个报错:

列表的值错误:列表中不存在该值
ValueError: list.remove(x): x not in list
列表的索引错误:
IndexError: list index out of range
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值