最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【Python 1-7】Python手把手教程之——详解列表List

    正文概述 掘金(弗拉德)   2020-11-25   254

    列表

    作者 | 弗拉德
    来源 | 弗拉德(公众号:fulade_me)

    列表,在其他语言中又被称为数组,是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表。你也可以创建几个列表,把这几个列表又放在一个列表内。 在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。下面是一个简单的列表示例,这个列表包含几种常见的水果:

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits)
    ['Apple','Banana','Pear','Orange']
    

    访问列表数据

    列表是有序的数据集合,每一个元素都有一个位置参数。比如上面的fruits列表里面,其中Apple的位置参数是0Banana位置参数是1。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。 例如,下面的代码从列表fruits中选出第一种水果:

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits[0])
    Apple
    

    索引是从0开始的

    所有的列表位置参数都是从0开始的而不是从1开始的,对于初学者,这个一定要记牢。如果在编码过程中发现取出的元素跟自己预期的不一样,请看看你是否犯了这种简单的错误。 第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。例如,要访问第4个列表元素,可使用索引3。 下面的代码访问索引13处的水果:

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits[1])
    print(fruits[3])
    Banana
    Orange
    

    Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits[-1])
    Orange
    

    这里返回的是Orange。这种语法很有用,因为你经常需要在不知道列表长度的情况下访问最后的元素。
    这种约定也适用于其他负数索引,例如:索引-2返回倒数第二个列表元素, 索引-3返回倒数第三个列表元素,以此类推。

    修改列表元素

    要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。 例如,假设有一个水果列表,其中的第一个元素为Apple,如何修改它的值呢?

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits[0])
    print(fruits)
    Apple
    ['Apple','Banana','Pear','Orange']
    
    # 开始把第一个元素修改为 Cherry
    fruits[0] = 'Cherry'
    print(fruits[0])
    print(fruits)
    Cherry
    ['Cherry','Banana','Pear','Orange']
    

    在列表中添加元素

    你可能出于很多原因要在列表中添加新元素。比如商场里又新增加了一种水果,需要在fruits里面中再新增一种水果。Python提供了多种在既有列表中添加新数据的方式。 1.在列表末尾添加元素 在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。

    fruits = ['Apple','Banana','Pear','Orange']
    print(fruits)
    fruits.append('Cherry')
    print(fruits)
    

    方法append()将元素Cherry添加到了列表末尾,而不影响列表中的其他所有元素。

    ['Apple','Banana','Pear','Orange']
    ['Apple','Banana','Pear','Orange','Cherry']
    

    append()可以很好的满足我们动态创建数组的需求。例如,我们可以先创建一个空的列表,在使用一系列的append()语句来动态的添加元素。 例如:

    fruits = []
    fruits.append('Apple')
    fruits.append('Banana')
    fruits.append('Pear')
    print(fruits)
    ['Apple','Banana','Pear']
    

    这种创建方式比较常见,因为很多时候,我们在代码的执行过程中才会知道哪些元素需要添加到列表中,哪些元素不需要添加。 2.在列表中插入元素

    使用方法insert()可在列表的任何位置添加新元素。但是,你需要指定新元素的索引和值。

    fruits = ['Apple','Banana','Pear']
    fruits.insert(0,'Orange')
    print(fruits)
    ['Orange','Apple','Banana','Pear']
    

    在该实例中,Orange被插入到了索引为0的这个位置。这种操作会使列表内的其他的每个元素都右移一个位置。 需要注意的是:插入数据的索引不能超过列表当前最大的索引值,如果我们执行fruits.insert(10,'Orange')就会报错。你可以试一下。

    从列表中删除元素

    我们经常需要从列表中删除一个元素,比如说有Apple这种水果因为缺货需要下架了,我们需要将Apple从列表中移除掉。你可以根据位置或值来删除列表中的元素。 1.使用del语句删除元素
    如果知道要删除的元素在列表中的位置,可直接使用del语句。

    fruits = ['Apple','Banana','Pear']
    print(fruits)
    ['Apple','Banana','Pear']
    del fruits[0]
    print(fruits)
    ['Banana','Pear']
    

    使用del可删除任何位置处的列表元素,条件是知道其索引。下例演示了如何删除fruits列表中的第二个元素

    fruits = ['Apple','Banana','Pear']
    print(fruits)
    ['Apple','Banana','Pear']
    del fruits[1]
    print(fruits)
    ['Apple','Pear']
    

    从输出来看,第二个元素已经被删除了。 2.使用方法pop()删除元素 有时候,你要将元素从列表中删除,并接着使用它的值。比如你下架了某种水果,需要把这种水果放入到明天的采购列表中。 方法pop()可删除列表末尾的元素,并让你能够接着使用它。

    fruits = ['Apple','Banana','Pear']
    print(fruits)
    poped_fruit = fruits.pop()
    print(fruits)
    ['Apple', 'Banana']
    print(poped_fruit)
    Pear
    

    执行pop()方法后,原数组最后一个元素被移除掉且最后一个元素作为返回值被返回。 3.pop列表中任何位置处的元素 想必你已经猜到了,我们只需要在pop()方法内传入想移除的元素索引就可以。

    fruits = ['Apple','Banana','Pear']
    print(fruits)
    ['Apple', 'Banana', 'Pear']
    first_fruit = fruits.pop(0)
    print(first_fruit)
    Apple
    

    别忘了,每当你使用pop()时,被弹出的元素就不再在列表中了。 如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准: 如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句,如果你要在删除元素后还能继续使用它,就使用方法pop()4.根据值删除元素 有时候,我们并不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用remove()方法。

    fruits = ['Apple','Banana','Pear']
    print(fruits)
    ['Apple', 'Banana', 'Pear']
    fruits.remove('Apple')
    print(fruits)
    ['Banana', 'Pear']
    

    方法remove()只删除在列表中出现的第一个指定的值。也就是说假如Applefruits列表中出现了多次,调用remove()方法,只会删除第一个Apple

    fruits = ['Apple','Banana','Pear','Apple']
    print(fruits)
    ['Apple', 'Banana', 'Pear','Apple']
    fruits.remove('Apple')
    print(fruits)
    ['Banana', 'Pear','Apple']
    

    整合列表

    在我们创建的列表中,元素的排列顺序常常是无法预测的。因为我们并非总能控制用户提供数据的顺序。我们又经常需要以特定的顺序呈现信息。有时候,你希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序。Python提供了很多组织列表的方式,可根据具体情况选用。

    使用方法sort()对列表进行永久性排序

    Python方法sort()让你能够轻松地对列表进行排序。假设你有一个水果列表,并要让其中的水果按字母顺序排列。为简化这项任务,我们假设该列表中的所有值都是小写的。

    fruits = ['pear','banana','apple']
    print(fruits)
    ['pear', 'banana', 'apple']
    fruits.sort()
    print(fruits)
    ['apple', 'banana', 'pear']
    

    方法sort()永久性地修改了列表元素的排列顺序。现在,fruits是按字母顺序排列的,再也无法恢复到原来的排列顺序。
    我们还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse=True即可。

    fruits.sort(reverse=True)
    print(fruits)
    ['pear', 'banana', 'apple']
    

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

    要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。下面尝试对fruits列表调用这个函数。

    fruits = ['pear','banana','apple']
    print(fruits)
    ['pear', 'banana', 'apple']
    print(sorted(fruits))
    ['apple', 'banana', 'pear']
    # 再一次输出 fruits
    print(fruits)
    ['pear', 'banana', 'apple']
    

    注意,调用函数sorted()后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。 在并非所有的值都是小写时,按字母顺序排列列表要复杂些,这个问题我们后面再详细解答。

    倒序输出列表

    要反转列表元素的排列顺序,可使用方法reverse()。假设fruist列表是按购买时间排列的,可轻松地按相反的顺序排列其中的水果:

    fruits = ['pear','banana','apple']
    print(fruits)
    ['pear', 'banana', 'apple']
    fruits.reverse()
    print(fruits)
    ['apple', 'banana', 'pear']
    

    reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。 方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此 只需对列表再次调用reverse()即可

    列表的长度

    使用函数len()可快速获悉列表的长度

    
    fruits = ['pear','banana','apple']
    len(fruits)
    3
    

    获取列表的长度在开发过程中很有用,比如我们利用len()方法一下就可以获取到当前有多少种水果正在销售。

    动手试一试

    7-2 嘉宾名单: 如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人?请创建一个列表,其中包含至少 3 个你想邀请的人,然后,打印列表。 7-3 修改嘉宾名单:你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。 然后再一次打印这个列表。 7-4 添加嘉宾:你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。 使用 insert()将一位新嘉宾添加到名单开头。 使用 insert()将另一位新嘉宾添加到名单中间。 使用 append()将最后一位新嘉宾添加到名单末尾。 7-5 缩减名单: 你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。 使用pop()不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一位嘉宾时,都打印一下。 7-7 放眼世界: 想出至少 5 个你渴望去旅游的地方。将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python 列表。 使用 sorted()按字母顺序打印这个列表,同时不要修改它。再次打印该列表,核实排列顺序未变。 使用 sorted()按与字母顺序相反的顺序打印这个列表,同时不要修改它。再次打印该列表,核实排列顺序未变。 使用 reverse()修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
    使用 reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。 使用 sort()修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。 使用 sort()修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。

    想查看作业答案可以去我的Githu仓库



    起源地下载网 » 【Python 1-7】Python手把手教程之——详解列表List

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元