Python 的列表

本文介绍了Python中列表的基本概念,包括如何创建、通过索引访问和修改元素,使用append(),insert(),del,pop(),remove()等方法操作列表,以及对列表进行排序和计算元素个数的方法。
摘要由CSDN通过智能技术生成

介绍列表

列表是由若干个元素按照一定的顺序排列组成.

列表中的元素可以有关系或没有任何关系.

列表元素通常为多个, 因此一般给列表一个表示复数的名字.

用方括号表示列表, 元素放在列表内, 用逗号分隔其中的各个元素.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']

创建一个列表

函数 list()

创建空列表

程序示例:

lists = []
print(lists)
print(type(lists))

结果:

[]
<class 'list'>

利用索引访问列表元素

因为列表中的元素是有顺序的, 因此可以借助索引访问列表中的元素. 先给出列表名称, 紧跟着一对方括号, 方括号内放置索引, 即可得到该元素.

可将这种形式当成该元素的变量名.

索引从 0 开始.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(names[0])
print(names[1].title())

结果:

['xiao', 'zhang', 'wang', 'li']
xiao
Zhang

从右到左,索引从 -1 开始,依次减一,即 -1,-2,…,-(n+1),n 是元素总和。

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(f"Hello, {names[-1].title()}")

结果:

Hello, Li

修改列表的元素

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names[1] = 'Cheng'
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['xiao', 'Cheng', 'wang', 'li']

增加列表的元素

append() 方法

append() 方法将新元素添加到列表的末尾。需要提供一个参数,即新元素。

程序示例:

lists = []
print(lists)
print(type(lists))

lists.append('hello')
print(lists)

结果:

[]
<class 'list'>
['hello']

insert() 方法

insert() 方法可在列表任意位置添加元素,需要提供两个参数,第一个是添加新元素后,新元素在列表中的索引,第二个是新元素。

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

names.insert(1, 'Cheng')
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['xiao', 'Cheng', 'zhang', 'wang', 'li']

从列表中删除元素

del 语句

使用 del 语句,需要提供待删除元素在列表中的索引。

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

del names[1]
print(names)

结果;

['xiao', 'zhang', 'wang', 'li']
['xiao', 'wang', 'li']

使用 del 语句将元素从列表中删除后, 将再也无法访问这个元素.

pop() 方法

可以用 pop() 删除列表中任意位置的元素, 需要提供一个参数, 即该元素的索引.

不提供参数时, 默认删除列表最后一个元素.

pop 即弹出的意思.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

names.pop()
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'wang']

用方法 pop() 弹出的元素, 还可以继续使用.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

he = names.pop()
print(names)
print(he)

结果:

['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'wang']
li

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

he = names.pop(2)
print(names)
print(he)

结果:

['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'li']
wang

remove() 方法

可以使用方法 remove() 删除列表中的元素, 需要提供一个参数, 即该待删除元素的值.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.remove('xiao')
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['zhang', 'wang', 'li']

使用 remove() 方法删除的值, 不能继续使用该值.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
name = names.remove('xiao')
print(names)
print(name)

结果:

['xiao', 'zhang', 'wang', 'li']
['zhang', 'wang', 'li']
None

remove() 方法只删除第一个出现的值, 如果列表中有多个重复的值, 可以借助循环删除所有的值.

对列表元素进行排序

sort() 方法

sort() 方法可以永久修改列表元素的排序,将列表元素按照字母顺序排列。

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

names.sort()
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'xiao', 'zhang']

在 sort() 方法中传入参数 reverse=True, 可以按照与字母顺序相反的顺序排列.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)

names.sort(reverse=True)
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['zhang', 'xiao', 'wang', 'li']

函数 sorted()

函数 sorted() 对列表临时排序.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(sorted(names))
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'xiao', 'zhang']
['xiao', 'zhang', 'wang', 'li']

给函数 sorted() 传递一个参数 reverse=True 可以按照与字母相反的顺序排列.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(sorted(names, reverse=True))
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['zhang', 'xiao', 'wang', 'li']
['xiao', 'zhang', 'wang', 'li']

当字母是大小写混杂时将更复杂些.

reverse() 方法

reverse() 方法可以反转列表元素的顺序, 这是永久性地修改元素顺序, 但是如果想要恢复元素的顺序, 可以再一次使用 reverse() 方法.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.reverse()
print(names)
names.reverse()
print(names)

结果:

['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'zhang', 'xiao']
['xiao', 'zhang', 'wang', 'li']

求列表元素个数

用函数 len() 可以求出列表元素的个数.

程序示例:

names = ['xiao', 'zhang', 'wang', 'li']
print(len(names))

结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值