每天三分钟一起学python之(六)python数据结构——列表

每天三分钟,我们一起学python。在上期python基本数据类型——字符串中,我们学习了python中字符串的基本知识和操作。学习了字符串还有数字类型,我们基本上可以进行许多操作了,但是在很多情况下还是远远不够的,我们会需要用到由各种基本数据类型组成集合,集合的不同组成方式就是数据结构。在python中内置的数据结构有四种:

  • 列表(list)
  • 元组(tuple)
  • 字典(dict)
  • 集合(set)

今天,我们要学习的就是python数据结构中的列表(list)。

每天三分钟一起学python之(六)python数据结构——列表

列表(list)基本介绍

list可以通过方括号括起、逗号分隔的一组值得到。一个列表可以包含不同类型的元素,但通常使用时各个元素类型相同。例如,下面的列表中有

它是一组用方括号括起来、逗号分隔的数据。列表的元素可以是任何类型的,但使用时通常各个元素的类型是相同的。下面的列表有6个元素,元素类型包括字符串、整数、浮点数和列表:

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> list_test
[1, 2, 3.1415926, 'yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]

列表(list)的索引(index)

与字符串一样,列表也支持索引。例如:

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> list_test[0]
1
>>> list_test[5]
[1, 2, 3]
>>> list_test[4]
'有趣技术交流分享'
>>> list_test[3]
'yhmxx.cn'
>>> list_test[-1]
[1, 2, 3]
>>> list_test[-4]
3.1415926

通过索引,我们不仅可以访问到某一元素,还可以修改某一元素。既然我们可以修改,说明列表是一种可变的( Mutable) 数据类型, 就是说这种类型是可以被改变的。

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> list_test[1]=1.732
>>> list_test
[1, 1.732, 3.1415926, 'yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]

列表(list)的切片(slicing

通过索引,我们可以访问列表的某一个元素。但有时候我们要取列表的一个片段,这就是“切片”操作。所有的切片操作都返回一个新列表,这个新列表包含所需要的元素。就是说,如下的切片会返回列表的一个新的 拷贝。

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> list_test[:]
[1, 2, 3.1415926, 'yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]

切片是通过索引来实现的,索引使用冒号:分隔,分别是切片的开始索引和结束索引,[1:5]代表的是一个左开右闭区间,即包含左边索引的元素,到右边索引为止但不包括该元素。也就是[0:a]+[a:b]=[0:b]。

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> list_test[1:3]
[2, 3.1415926]
>>> list_test[:5]
[1, 2, 3.1415926, 'yhmxx.cn', '有趣技术交流分享']
>>> list_test[2:]
[3.1415926, 'yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]

列表运算

列表也可以像字符串那样进行一些运算。

1.“+”运算:将列表进行合并。

>>> list1=[1,2,3]
>>> list2=[4,5,6]
>>> list1+list2
[1, 2, 3, 4, 5, 6]

2.“*”运算:将列表重复。

>>> list1=[1,2,3]
>>> list1*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

列表删除(del)

有一种方式可以从列表按照给定的索引而不是值来移除一个元素: 那就是 del 语句。 del 语句也可以用来从列表中移除切片或者清空整个列表。例如:

>>> list_test=[1,2,3.1415926,'yhmxx.cn','有趣技术交流分享',[1,2,3]]
>>> del list_test[1]
>>> list_test
[1, 3.1415926, 'yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]
>>> del list_test[0:2]
>>> list_test
['yhmxx.cn', '有趣技术交流分享', [1, 2, 3]]
>>> del list_test[:]
>>> list_test
[]
>>> del list_test
>>> list_test
Traceback (most recent call last):
File "", line 1, in
list_test
NameError: name 'list_test' is not defined

需要注意del list_test[:]和del list_test是不同的,del list_test[:]是删除列表中的所有元素,列表变成一个空列表,但是列表还在。而del list_test是将列表删除,列表就不存在了。

列表相关内置函数

1. len( )

计算列表的长度,即计算列表元素的个数。

2.max( )

返回列表元素中的最大值,列表元素必须是同一类型且可比较,比如都是数字型的,或都是字符串,如果类型不统一就会报错。

3.min( )

返回列表元素中的最小值。元素类型要求跟max( )一样。

4.sum( )

计算列表所有元素的和,其元素类型必须是数值型的(整数、浮点数)。

5.sorted( )

返回一个排序的列表,但并不改变原列表。

6.append(x)

在列表的末尾添加一个元素。相当于 a[len(a):] = [x] 。

7.insert(i, x)

在给定的位置插入一个元素。第一个参数是要插入的元素的索引,所以 a.insert(0, x) 插入列表头部, a.insert(len(a), x) 等同于 a.append(x) 。

8.remove(x)

移除列表中第一个值为 x 的元素。如果没有这样的元素,则抛出 ValueError 异常。

9.pop([i])

删除列表中给定位置的元素并返回它。如果没有给定位置, a.pop() 将会删除并返回列表中的最后一个元素。(方法签名中 i 两边的方括号表示这个参数是可选的,而不是要你输入方括号。你会在 Python参考库中经常看到这种表示方法)。

10.clear( )

删除列表中所有的元素。相当于 del a[:] 。

11.index( )

返回遇到的第一个某值的索引,如果列表不包含该值则抛出错误。

12.count(x)

返回元素 x 在列表中出现的次数。

13.reverse( )

反转列表中的元素。

14.copy( )

返回列表的一个浅拷贝。相当于 a[:] 。

可能会注意到,像 insert , remove 或者 sort 方法,只修改列表,没有打印出返回值——它们返回默认值 None 。这是 Python 中所有可变数据结构的设计原则。


以上就是今天给大家分享的内容了,如果大家喜欢我分享的内容,别忘了关注点赞评论转发哦!如果大家有什么问题可以在评论区留言,大家一起探讨交流。后期我会分享更多精彩内容,欢迎大家持续关注!

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇