您的位置:首页 > 编程语言 > Python开发

刻意练习Python基础 ——day 03:列表与元组(上)

2019-10-21 22:59 471 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43968103/article/details/102673976
17天 —— Python基础刻意练习

Day 01——Task01:变量、运算符与数据类型
Day 02——Task02:条件与循环
Day 03——Task03:列表与元组(上)
Day 04——Task03:列表与元组(下)
Day 05——Task04:字符串与序列
Day 06——Task05:函数与Lambda表达式(上)
Day 07——Task05:函数与Lambda表达式(下)
Day 08——Task06:字典与集合
Day 09——Task07:文件与文件系统(上)
Day 10——Task07:文件与文件系统(下)
Day 11——Task08:异常处理
Day 12——Task09:else 与 with 语句
Day 13——Task10:类与对象(上)
Day 14——Task10:类与对象(下)
Day 15——Task11:魔法方法(上)
Day 16——Task11:魔法方法(下)
Day 17——Task12:模块
    


列表与元组

文章目录

  •  1.3修改列表中的值
  •  1.4删除列表中的值
  •  1.5列表分片与拼接
  •  1.6列表的常用操作符
  •  1.7列表的一些其他函数&方法
  •   1.7.2列表的一些其他方法




  •   在Python中,若将int整型、float浮点型、bool布尔型和str字符串单个数据,则可以将这些数据都放在一个容器里得到一个 「容器类型」序列,比如:列表(List)元组(Tuple)、字典(Dict)、集合(Set)。

      Python有6个序列的内置类型,序列都可以进行的操作包括索引切片, 7ff7 检查成员
      此外,Python已经内置确定序列的长度以及确定最大最小的元素的方法。

    1.列表List

    • 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
    • 列表的数据项不需要具有相同类型
    • 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
    list1 = ['Mive','-Vax', 5, 3];
    list2 = [1, 2, 3, 4, 5 ];
    list3 = ['Mive','-Vax', [3, 5]];

      与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。


     1.1访问列表中的值

      使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

    list1 = ['Mive','-Vax', 5, 3]
    sample = [1, 2, 3, 4, 5, 6, 7, 8, 9 ]
    
    print ("list1[0]: ", list1[0])
    print ("sample[3:5]: ", sample[3:5])
    print ("sample[-5:-3]: ", sample[-5:-3])
    
    # list1[0]:  Mive
    # sample[3:5]:  [4, 5]
    # sample[-5:-3]:  [5, 6]



     1.2向列表添加元素


      1.2.1通过 list.append(obj)方法

      append(obj) 在列表末尾添加新对象只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。

    list1 = ['Mive','-Vax', 5]
    list1.append('3')
    print ("更新后的列表 : ", list1)
    # 更新后的列表 :  ['Mive', '-Vax', 5, '3']

      注意:append()方法与 + 连接操作符还是存在差异的。 + 连接操作符两端的类型需要一致。

    list1 = ['Mive','-Vax', 5]
    list2 = 3
    list1.append(list2)
    print ("更新后的列表 : ", list1)
    # 更新后的列表 :  ['Mive', '-Vax', 5, 3]
    
    list1 = ['Mive','-Vax', 5]
    list2 = 3
    list1 += list2
    print ("更新后的列表 : ", list1)
    # TypeError: 'int' object is not iterable

      1.2.2通过list.extend(seq)方法

      extend(seq) 方法用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。

    list1 = ['Mive','-Vax']
    list1.extend([5,'3'])
    print ("更新后的列表 : ", list1)
    # 更新后的列表 :  ['Mive', '-Vax', 5, '3']

      1.2.3通过list.insert(index, obj))方法

      insert(index, obj))方法用于将指定对象obj插入列表的指定位置index

    list1 = ['Mive', 5, 3]
    list1.insert(1, '-Vax')
    print ("更新后的列表 : ", list1)
    # 更新后的列表 :  ['Mive', '-Vax', 5, 3]




     1.3修改列表中的值

      直接通过下标索引来修改列表中的值

    list1 = ['Mive', '-Vax', 5, 3]
    print ("列表:", list1)
    list1[2] = 8
    print ("更新后的列表:", list1)
    # 列表: ['Mive', '-Vax', 5, 3]
    # 更新后的列表: ['Mive', '-Vax', 8, 3]



     1.4删除列表中的值


      1.4.1通过 list.remove(obj) 方法

      不需要知道参数的索引值,只需要知道参数的值既可完成删除

    list1 = ['Mive', '-Vax', 5, 3]
    print ("列表:", list1)
    list1.remove('Mive')
    print ("更新后的列表:", list1)
    # 列表: ['Mive', '-Vax', 5, 3]
    # 更新后的列表: ['-Vax', 5, 3]

      注意:若删除list中不存在的值,则会报错。


      1.4.2通过 del 语句

      可以使用 del 语句来删除列表的一个或多个元素

    list1 = ['Mive', '-Vax', 5, 3]
    del list1[1], list[2]
    print (list1)
    # ['Mive', 3]

      也可以使用 del 语句来删除列表

    list1 = ['Mive', '-Vax', 5, 3]
    del list1
    print (list1)
    # NameError: name 'list1' is not defined

      1.4.3通过 list.pop([index=-1]) 语句

      因为Python中的List是利用stack栈这种数据结构进行存储的,所以可以使用pop弹栈弹出元素,故存在返回值

    list1 = ['Mive', '-Vax', 5, 3]
    num = list1.pop()
    print (list1,num)
    # ['Mive', '-Vax', 5] 3
    
    list1 = ['Mive', '-Vax', 5, 3]
    list1.pop(1)
    print (list1)
    # ['Mive', 5, 3]



     1.5列表分片与拼接


      1.5.1列表分片

      Python的列表截取与字符串操作类型为

    list[start : stop : step]

      意为索引下标从start开始到stop - 1步长为step,复制出一个新的列表。

    list1 = ['Mive', '-Vax', 5, 3,'Mive1', '-Vax1', 51, 31]
    print(linst[1:5])		# ['-Vax', 5, 3, 'Mive1']
    print(linst[1:])		# ['-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31]
    print(linst[:5])		# ['Mive', '-Vax', 5, 3, 'Mive1']
    print(linst[:])			# ['Mive', '-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31]
    print(linst[1:7:2])		# ['-Vax', 3, '-Vax1']
    print(linst[::-1])		#[31, 51, '-Vax1', 'Mive1', 3, 5, '-Vax', 'Mive']

      注意:若令step = -1,相当于将列表翻转。


      1.5.2列表拼接

       列表拼接有两种方式,用 ’ + ’ 连接操作符’ * ’ 重复操作符 ,前者首尾拼接,后者复制拼接。

    list1 = ['Mive', '-Vax', 5, 3]
    list2 = ['Mive1', '-Vax1', 51, 31]
    
    print(list1 + list2)	# ['Mive', '-Vax', 5, 3, 'Mive1', '-Vax1', 51, 31]
    print(list1 * 3)		# ['Mive', '-Vax', 5, 3, 'Mive', '-Vax', 5, 3, 'Mive', '-Vax', 5, 3]



      1.5.3嵌套列表

      使用嵌套列表即在列表里创建其它列表,例如:

    list1 = ['Mive', '-Vax', 5, 3]
    list2 = ['Mive1', '-Vax1', 51, 31]
    list3 = [list1, list2]
    print(list3)			# [['Mive', '-Vax', 5, 3], ['Mive1', '-Vax1', 51, 31]]
    print(list3 [1])		# ['Mive1', '-Vax1', 51, 31]
    print(list3 [0][1])		# -Vax




     1.6列表的常用操作符


      1.6.1比较操作符

      即

    >
    >=
    <
    <=
    ==
    !=

    list0 = [5, 3]
    list1 = [5, 31]
    list2 = [51, 3]
    print(list0 > list2)		# False
    print(list0 > list1)		# False
    print(list1 > list2)		# False

      1.6.2逻辑操作符

      即

    and
    or
    not

    list0 = [5, 3]
    list1 = [5, 31]
    list2 = [51, 3]
    print(list0 > list2 and list0 > list1)		# False
    print(list0 > list2 or list0 > list1)		# False
    print(not(list1 > list2))					# True

      1.6.3成员关系操作符

      即

    in
    not in

    list1 = ['Mive', '-Vax', 5, 3]
    print(5 in list1)			# True
    print(51 not in list1)		# True



     1.7列表的一些其他函数&方法


      1.7.1列表函数


       1.7.1.1 len(list) 函数

       

    len(list)
    函数返回列表元素个数。

    list1 = ['Mive', '-Vax', 5, 3]
    print (len(list1))				# 4
    list2=list(range(5))
    print (list2, len(list2))		# [0, 1, 2, 3, 4] 5

       1.7.1.2 max(list) 函数

       

    max(list)
    函数返回列表元素最大值

    list1 = ['Mive', '-Vax', '5', '3']
    list2=list(range(5))
    print ("list1 最大元素值 : ", max(list1))
    print ("list2 最大元素值 : ", max(list2))
    # list1 最大元素值 :  Mive
    # list2 最大元素值 :  4

       1.7.1.3 min(list) 函数

       

    min(list)
    函数返回列表元素最小值

    list1 = ['Mive', '-Vax', '5', '3']
    list2=list(range(5))
    print ("list1 最小元素值 : ", min(list1))
    print ("list2 最小元素值 : ", min(list2))
    # list1 最小元素值 :  -Vax
    # list2 最小元素值 :  0

       1.7.1.4 list(seq)函数

       将元组转换为列表

    tuple1 = ('Mive', '-Vax', '5', '3')
    print (tuple1, type(tuple1))
    list1=list(tuple1)
    print (list1, type(list1))
    
    # ('Mive', '-Vax', '5', '3') <class 'tuple'>
    # ['Mive', '-Vax', '5', '3'] <class 'list'>




      1.7.2列表的一些其他方法


       1.7.2.1 count(obj)方法

      

    count(obj)方法
    用于统计某个元素在列表中出现的次数。

    list1 = ['Mive', '-Vax', '5', 3]
    list1 *= 8
    print ("3 元素个数 : ", list1.count(3))
    # 3 元素个数 :  8

       1.7.2.2 reverse()方法

      

    reverse()
    方法用于反向列表中元素。

    list1 = ['Mive', '-Vax', '5', 3]
    list1.reverse()
    print (list1)
    # [3, '5', '-Vax', 'Mive']
    print (list1[::-1])
    # ['Mive', '-Vax', '5', 3]

       1.7.2.3 sort()方法

      

    sort()
    函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
      
    list.sort( key=None, reverse=False)

    • key
      — 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse
      — 排序规则,reverse = True 降序, reverse = False 升序(默认)。
    list1 = ['b', 'a', 'd', 'c', 'e']
    list1.sort()
    print ( '升序输出:', list1 )
    list1.sort(reverse=True)
    print ( '降序输出:', list1 )
    # 升序输出: ['a', 'b', 'c', 'd', 'e']
    # 降序输出: ['e', 'd', 'c', 'b', 'a']
    def takeSecond(list1):
    return list1[1]
    list1 = [[0,5],[2,2],[7,3],[5,4],[1,8]]
    list1.sort(key=takeSecond)
    print('排序列表:', list1)
    # 排序列表: [[2, 2], [7, 3], [5, 4], [0, 5], [1, 8]]

       1.7.2.4 clear()方法

      

    clear()
    方法用于清空列表,类似于
    del list[:]

    list1 = ['Mive', '-Vax', '5', 3]
    list1.clear()
    print("列表清空后 : " , list1)
    # 列表清空后 : []

       1.7.2.5 copy()方法

      

    copy()
    方法用于复制列表,类似于
    list[:]

    list1 = ['Mive', '-Vax', '5', 3]
    list2 = list1.copy()
    print ("list2 列表: ", list2)
    # list2 列表:  ['Mive', '-Vax', '5', 3]
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: