zoukankan      html  css  js  c++  java
  • 4 python列表list的操作

    *—*—list列表的操作—*—*
    
    
    一、列表
    1.1列表是python的基础数据类型之一,列表的具体表现为以中括号[]括起来,其中的每个元素以逗号隔开,并且它比C语言中的数组强大的地方是可以存放各种数据类型
    例:lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]

    1.2列表相比字符串不仅可以存放各种数据类型,还可以存储大量的数据。列表是有序的,可以进行索引、切片、便于取值。
    例如: lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]
    print(lis[0])
    print(lis[1])
    print(lis[1:4])
    print(lis[::2])
    ***输出结果***:
    1
    abc
    ['abc', True, {'name': '天才', 'age': 18}]
    [1, True, (1, 2, '蠢材')]

    1.3列表的常用操作(增删改查)

      1.3.1 列表的增(append,extend,insert)
      append —— 通过append可以向列表的尾部追加单个元素(多个会异常)
      例:name = ['小明','小李','小张']
      name.append('小王') #往列表中追加一个元素'小王'
       print(name)
       ***输出结果***:
       ['小明', '小李', '小张', '小王']

      extend —— 通过extend可以将另一个集合中的元素逐一添加到列表中(迭代添加)
      例: lis1 = ['a','b']
      lis2 = ['c','d']
       lis1.extend(lis2)
       print(lis1)
       ***输出结果***:
       ['a','b','c','d']

      insert —— insert(index, object) 在指定位置index前插入元素object
      例:a = [0,1,3,4]
       a.insert(2,2) #在下标为2的索引前插入一个元素2
       print(a)
       ***输出结果***:
       [0,1,2,3,4]

      1.3.2 列表的删(pop, remove, clear, del)
      pop —— 两种用法,第一种默认删除最后一个元素,第二种按索引删除
      例: 默认删除末尾元素
       a = [1,2,3,4]
       a1 = a.pop()
       print(a) #打印通过pop方法删除后的列表
       print(a1) #打印删除的元素
       ***输出结果***:
       [1, 2, 3]
       4

      按索引删除:
      b = [1,2,3,4]
      b1 = b.pop(1) #删除下标为1的元素,此时b = [1,3,4]
      b2 = b.pop(2) # 删除下标为2的元素,此时b = [1,3]
      print(b) #[1,3]
      print(b1) #[2]
      print(b2) #[4]
      ***输出结果***:
      [1, 3]
      2
      4

      remove —— 删除列表中匹配对象的第一个元素。无匹配元素时产生异常,返回None。
      c = ['大写的人','小写的人','大人','小人']
      c.remove('小人')
      print(c)
      c.remove('小人')
      print(c)
      ***输出结果***:
      ['大写的人', '小写的人', '大人']
      ValueError: list.remove(x): x not in list 异常,列表中无此元素

      clear —— 清空列表
      d = [1,1,1,1,1,2,2,2,2]
      d.clear()
      print(d)
      ***输出结果***:
      []

      del —— 在内存级别中删除
      按索引删除:
      e = ['a','b','c','d']
      del e[1]
      print(e)
      ***输出结果***:
      ['a', 'c', 'd']
      
      按切片删除:
      f = ['哈哈哈','呵呵呵','嘻嘻嘻','咿呀咿呀']
      del f[:2]
      print(f)
      ***输出结果***:
      ['嘻嘻嘻', '咿呀咿呀']

      1.3.3 列表的改
      改有2种方法,第1种根据下标索引找到元素去改,第2种使用切片去改
      例:根据索引的改
      lis = [1,2,3,4,5]
      lis[1] = '改' #将下标为1的元素更改为字符串'改'
      print(lis)
      ***输出结果***:
      [1,'改',3,4,5]

      根据切片去改:
      lis1 = ['a','b','c','d','e']
      lis1[1:3] = '哈哈哈' #迭代添加
      print(lis1)
      lis1[1:3] = ['666','777']
      print(lis1)
      ***输出结果***:
      ['a', '哈', '哈', '哈', 'd', 'e']
      ['a', '666', '777', '哈', 'd', 'e']

      1.3.4 列表的查
      for 循环,列表是可迭代对象,所以可以使用for循环进行查询
      例:
      s = ['a','b','c']
      for i in s: #遍历s中的元素
       if i == 'a': #若s中的元素 = 'a'
       print('存在')
       else:
       print('不存在')
    其他操作:
    sort —— 升序排序,()中加reverse = True则按倒序排序
    count —— 查询元素在列表中出现的次数
    index —— 根据元素查索引,不存在则报错
    in(存在),如果存在那么结果为true,否则为false
    not in(不存在),如果不存在那么结果为true,否则false

    列表的嵌套:
    lis = [1,'tiancai',[2,'a',[3,'c'],'b']

    range —— range可以帮助我们获取()中的数据
    # range
    for i in range(10): # 从0开始. 到10结束
        print(i)
    
    for i in range(3, 7):   # 从3 开始. 打印到7结束. 不能到7
        print(i)
    
    for i in range(3, 10, 2):  # 从3 到 10 每2个取一个
        print(i)
    
    for i in range(10, -10, -1):  #从10 开始到-10结束. 倒着数
        print(i)
    
    # 求1-2+3-4...+99-100=?
    sum = 0
    for i in range(1, 101):
        if i % 2 == 0:
            sum = sum - i
        else:
            sum = sum + i
    print(sum)
     
    作者:蛛丝马迹
        
    no copyright, 欢迎转载
  • 相关阅读:
    Spring Security——核心类简介——获得登录用户的相关信息
    ssm配置文件
    spring boot项目下的application.properties中的logging.level设置日志级别
    spring boot项目下application.properties中使用logging.path和logging.file时的细节
    generatorConfig.xml(mybatis generator默认配置文件名)详细
    maven web项目下mybatis generator的使用
    各种xml配置文件(所含内部标签及顺序)的提示功能是真的人性化
    Git介绍、安装、命令和实战
    mac下ip地址重定向
    eclipse中Tomcat version 9.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, 7, and 8 Web modules
  • 原文地址:https://www.cnblogs.com/python-wang/p/9511497.html
Copyright © 2011-2022 走看看