• python基础-数据结构及数据读取操作


    python基础-字符串、列表、字符串

    一、字符串(String):

    在python中,除了整数和浮点数外,还有字符串。任何被单引号或者双引号括起来的内容都可以人为是字符串,字符串也可以复制给变量;
    
    string_1 = '我是字符串' #字符串中可以是任意的内容
    string_2 = '' #空字符串
    string_3 = ' ' #字符串中是空格
    

    二、列表(list):

    - 列表是Python中的一个对象,由方括号和括起来的数据组成。
    - 对象(object)就是内存中专门用来存储数据的一块区域
    - 列表中可以保存多个有序的数据,数据的类型可以是整数、浮点数、字符串、也可以是列表或者其他数据。
    - 列表是用来存储对象的容器。
    - 列表中的每一项叫做列表的元素,每个元素之间使用 英文逗号隔开。
    - 列表创建方法:
    
    list _1 = [] # 创建了一个空列表
    list_2 = [1,2,3,4,5] #创建一个有五个元素的列表,五个元素都是数字
    list_3 = [123 , '嘻嘻哈哈'[123,'ded'] ] #创建一个多钟元素混合的列表
    

    三、元组(Tuple):不可变序列

    元组是Python里面的容器之一。有小括号和小括号里面的数据构成,它的外形和列表非常相似,只不过列表是使用方括号,而元组使用的是小括号,元组中的元和二元一次方程中的元是同一个意思,组就是组合的意思。
    一般当我们希望数据不改变时,就使用元组,其余情况都使用列表。
    

    创建元组

    # 创建元组
    # 使用()来创建元组
    my_tuple = () # 创建了一个空元组
    # print(my_tuple,type(my_tuple)) # <class 'tuple'>
    
    my_tuple = (1,2,3,4,5) # 创建了一个5个元素的元组
    # 元组是不可变对象,不能尝试为元组中的元素重新赋值
    # my_tuple[3] = 10 TypeError: 'tuple' object does not support item assignment
    # print(my_tuple[3])
    
    # 当元组不是空元组时,括号可以省略
    # 如果元组不是空元组,它里边至少要有一个英文逗号
    my_tuple = 10,20,30,40
    my_tuple = 40,
    # print(my_tuple , type(my_tuple))
    
    
    • 元组和列表的区别:列表生成以后,还可以往里面继续添加数据。也可以从里面删除数据。元组一但生成就不能修改。如果里面只有整数,浮点数,字符串,另一个元组,就既不能添加数据也不能删除数据。还不能修改里面的数据的值。如果元组里面包含了一个列表,那么这个元组里面的列表依旧可以变化。

    四、数据的读取:

    1.切片
    切片是指从现有的列表中,获取一个子列表
    创建一个列表时,一般变量名使用复数
    列表的索引可以是负数
    如果索引是负数,则从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个 以此类推
    

    通过切片来获取指定的元素
    语法:
    列表[起始:结束:步长]

    • 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
    • 做切片操作时,总会返回一个新的列表,不会影响原来的列表
    • 起始和结束位置的索引都可以省略不写
    • 如果省略结束位置,则会一直截取到最后
    • 如果省略起始位置,则会从第一个元素开始截取
    • 如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本
    • 步长可以是负数(从后向前取元素),但是不可以为零。
    2.通用操作

    在这里插入图片描述

    1.  + 可以将两个列表拼接为一个列表
         # my_list = [1,2,3] + [4,5,6]
    2.  * 可以将列表重复指定的次数
          # my_list = [1,2,3] * 5
    3.  in  用来检查指定元素是否存在于列表中
        如果存在,返回True,否则返回False
    4.  not in 用来检查指定元素是否不在列表中
              如果不在,返回True,否则返回False
    5.  len()获取列表中的元素的个数
    6.  min() 获取列表中的最小值
    7.  max() 获取列表中的最大值
    8.   s.index() 获取指定元素在列表中的第一次出现时索引
    	   index()的第二个参数,表示查找的起始位置 , 第三个参数,表示查找的结束位置
    		如果要获取列表中没有的元素,会抛出异常
    9.  s.count() 统计指定元素在列表中出现的次数
    
    
    3.修改元素(只适用于可变序列)

    在这里插入图片描述

    1. 通过索引修改元素
    2. 通过 del 删除元素
    3. 通过切片来修改列表
    4. 使用 append() 向列表的最后添加一个元素
    5. insert() 向列表的指定位置插入一个元素
      参数:
      1.要插入的位置
      2.要插入的元素
      stus.insert(2,‘嘻嘻哈哈哈’)
    6. extend() 使用新的序列来扩展当前序列,需要一个序列作为参数,它会将该序列中的元素添加到当前列表中
      stus.extend([‘唐僧’,‘白骨精’])
      stus += [‘唐僧’,‘白骨精’]
    7. clear() 清空序列
      stus.clear()
    8. pop() 根据索引删除并返回被删除的元素
    result = stus.pop(2) # 删除索引为2的元素
    result = stus.pop() # 删除最后一个
    print('result =',result)
    
    1. remove()
      删除指定值得元素,如果相同值得元素有多个,只会删除第一个
      stus.remove(‘嘻嘻哈哈’)
    2. reverse() 用来反转列表
      stus.reverse()
    3. sort()
      用来对列表中的元素进行排序,默认是升序排列
      如果需要降序排列,则需要传递一个reverse=True作为参数
    4.遍历列表

    遍历列表:将列表中的所有的元素都取出来
    方法一:

    # 通过while循环来遍历列表
    i = 0
    while i < len(stus):
        print(stus[i])
        i += 1
    

    方法二:

    通过for循环来遍历列表
    语法:
      for 变量 in 序列 :
          代码块
    for循环的代码块会执行多次,序列中有几个元素就会执行几次
      没执行一次就会将序列中的一个元素赋值给变量,
      所以我们可以通过变量,来获取列表中的元素
    

    range函数介绍:用来生成一个自然数的序列。
    该函数需要三个参数

    • 起始位置(可以省略,默认是0)
    • 结束位置
    • 步长(可以省略,默认是1)
    #创建示例
    r = range(5) # 生成一个这样的序列[0,1,2,3,4]
    r = range(0,10,2)
    r = range(10,0,-1)
    
    • 通过range()可以创建一个执行指定次数的for循环
    5.解包(解构)

    解包指就是将元组当中每一个元素都赋值给一个变量

    a = 100
    b = 300
    # print(a , b)
    
    # 交互a 和 b的值,这时我们就可以利用元组的解包
    a , b = b , a
    # print(a , b)
    
    # 在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致
    # 也可以在变量前边添加一个*,这样变量将会获取元组中所有剩余的元素,但是不能同时出现两个或以上的*变量
    
     
    
  • 相关阅读:
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1057:简单计算器
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1061:求整数的和与均值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1061:求整数的和与均值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1061:求整数的和与均值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1060:均值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1060:均值
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1060:均值
    如何绕过Windows Server 2008 R2上的身份验证
    如何绕过Windows Server 2008 R2上的身份验证
    SQLServer中创建主键的方法
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755248.html
Copyright © 2020-2023  润新知