Python容器型数据类型——列表、字典、字符串

容器型数据类型

一、列表

  1. 什么是列表( list)

    列表是容器型数据类型,将 []作为容器的标志,里面多个元素用逗号 ,隔开:[数据1,数据2,数据3,...]

    列表是可变的(元素的个数和元素的值可变 - 支持[增删改查 - 只在可变数据类型中可以执行])

    列表是有序的(顺序影响结果,支持下标/索引操作)

    列表的元素(保存在列表中的每个数据):可以任何类型的数据

    # 有序性
    print([10, 20, 30] == [20, 10, 30])  # False
    print('abc' == 'bac')   # False
    # 字典和集合无序
    print({'a': 10, 'b': 20} == {'b': 10, 'a': 20})   # True
    print({10, 20, 30} == {20, 10, 30})   # True
    # 空列表
    list = []
    # 列表中的元素可以是任何数据类型的数据
    list2 = [10, 1.2, 'abc', True, [10, 20]]
    # 表示一个比较长的列表的时候,可以在逗号后面换行
    list3 = [
        ['魈', '男', '璃月'],
        ['万叶', '男', '稻妻'],
        ['散兵', '男', '稻妻']
    ]
    
  2. 列表的增删改查

    1. 查 - 获取列表中的元素

      查单个 - 一次获取一个元素

      语法:

      列表[下标]
      

      说明:

      列表   -   具体的一个列表,或者是保存列表的变量
      []   -   固定写法
      下标   -   又叫索引,指的是元素在列表中的位置信息。Python中有序序列每个元素的下标有两个,从前往后从0开始step为1的下标和从后往前从-1开始step为-1的下标。
      
      nums = [10, 20, 30, 40, 50]
      print(nums[1], nums[-4])  # 20, 20
      print(nums[5])  # IndexError: list index out of range(索引错误)
      

      遍历 - 按顺序一个一个的获取列表中所有的元素

      names =['魈','万叶','散兵','钟离']
      # 练习:统计nums中偶数的个数
      nums = [46, 55, 80, 89, 71, 20]
      for i in nums:
          if i % 2 == 0:
              print(i)
      # 练习2:打印persons中每个人的名字
      persons = [
          ['魈', '男', '璃月'],
          ['万叶', '男', '稻妻'],
          ['散兵', '男', '稻妻']
      ]
      for i in persons:
          print(i[0])
      
    2. 增 - 在列表中添加元素

      列表.append()

      语法:

      列表.append(元素)   -   在指定列表的最后添加指定元素
      
      names =['魈','万叶','散兵','钟离']
      names.append('温迪')
      print(names)    # ['魈', '万叶', '散兵', '钟离', '温迪']
      
      # 案例:提取nums中所有的偶数,得到新的列表
      n = []
      nums = [46, 55, 80, 89, 71, 20]
      for i in nums:
          if i % 2 == 0:
              n.append(i)
      print(n)   # [46, 80, 20]
      

      列表.insert()

      语法

      列表.insert(下标,元素)   -   将指定元素插入到列表中指定下标对应的元素的前面
      
      names =['魈','万叶','散兵','钟离']
      names.insert(-1,'温迪')
      print(names)   # ['魈', '万叶', '散兵', '温迪', '钟离']
      
    3. 删 - 删除元素

      del 列表[下标]   -    删除列表中指定下标对应的元素
      
      names =['魈','万叶','散兵','钟离']
      del names[2]
      print(names)  # ['魈', '万叶', '钟离']
      
      列表.remove(元素)   -   删除列表中第一个指定的元素,若该元素不存在,则报错
      
      names =['魈','万叶','魈','散兵','钟离']
      names.remove('魈')     # 列表中有多个指定删除的元素时,默认删除第一个
      print(names)   # ['万叶', '魈', '散兵', '钟离']
      
      列表.pop(下标)   -   取走列表中指定下标对应的元素并且返回
      
      names =['魈','万叶','魈','散兵','钟离']
      result = names.pop()   # 默认删除最后一个
      print(result)   # 钟离
      print(names,result)   # ['魈', '万叶', '魈', '散兵'] 钟离
      
      names =['魈','万叶','魈','散兵','钟离']
      result = names.pop(1)
      print(result)   # 万叶
      print(names,result)   # ['魈', '魈', '散兵', '钟离'] 万叶
      
      
    4. 改 - 修改某个元素的值

      列表[下标]  =  新值    -     将指定下标对应元素修改成新的值
      
      names =['魈','万叶','魈','散兵','钟离']
      names[-3] = '魈宝'
      print(names)   # ['魈', '万叶', '魈宝', '散兵', '钟离']
      
  3. 相关操作和相关函数

    1. 列表的加法和乘法运算

      nums = [10, 20, 30]
      result = nums + [22, 23]
      print(result)    # [10, 20, 30, 22, 23]
      result = nums * 3
      print(result)   # [10, 20, 30, 10, 20, 30, 10, 20, 30]
      
    2. innot in- 判断

      数据 in 列表   -    判断列表中是否存在指定数据对应的元素
      数据 not in 列表   -   判断列表中是否不存在指定数据对应的元素
      
      names = ['魈', '万叶', '魈宝', '散兵', '钟离']
      print('魈宝')   # True
      
    3. len函数 - 求元素个数

      len(列表)   -   获取列表的长度(获取列表中元素的个数)
      names = ['魈', '万叶', '魈宝', '散兵', '钟离']
      print(len(names))   # 5
      
    4. sum函数 - 求和

      sum(列表)   -   求列表中所有元素的和(列表中的元素必须全部是数字)
      scores = [12, 456, 75, 5.67]
      print(sum(scores))   #  548.67
      
    5. max/min函数 - 求最大/最小值

      scores = [12, 456, 75, 5.67]
      print(max(scores))    # 456
      print(min(scores))    # 5.67
      
    6. sorted函数 - 排序

      变量 = sorted(list)   -   将列表中的元素从小到大排序(升序)产生一个新的列表保存到指定的变量中
      变量 = sorted(list, reverse = True)   -   将列表中的元素从大到小排序(降序)产生一个新的列表保存到指定的变量中
      scores = [12, 456, 75, 5.67]
      new_scores = sorted(scores)
      print(new_scores)   # [5.67, 12, 75, 456]
      new2_scores = sorted(scores, reverse = True)
      print(new2_scores)   # [456, 75, 12, 5.67]
      

二、字典

  1. 什么是字典( dict)

    字典是容器型数据类型;将 {}作为容器的标志,里面多个键值对用逗号 ,隔开:{键1:值1, 键2:值3, 键3:值3,...}

    字典是可变的(支持增删改查);字典是无序的(顺序不影响结果,不支持下标操作)

    # 无序
    print({'胡桃':16, '万叶':17} == {'万叶':17, '胡桃':16})   # True
    

    字典的元素:

    必须是键值对

    键必须是不可变类型的数据(数字、布尔、空值、字符串、元组,一般用字符串)

    案例:定义一个变量保存一个人的信息
    person = ['魈', '男', '璃月', '仙人']
    person = {'name':'魈', 'gender':'男', 'country':'璃月', 'status':'仙人'}
    dict = {'name':'魈', 'gender':'男', (12):'数字'}
    

    空字典

    dict1 = {}
    

    值可以是任何类型的数据

  2. 查操作 - 获取值

    字典[键] - 获取字典中指定键对应的值,若键不存在则报错

    person = {'name':'魈', 'gender':'男', 'country':'璃月', 'status':'仙人'}
    print(person['name'])   # 魈
    print(person['firends'])  #  KeyError: 'firends'
    

    字典.get(键,默认值) - 获取字典中指定键对应的值,若键不存在则返回默认值,没有默认值返回 None

    print(person.get('country'))   # 璃月
    print(person.get('firends'))   # None
    print(person.get('firends',0))   # 0
    print(person.get('country',1))   # 璃月
    
  3. 实际生活中的字典

    案例:定义一个变量保存一个班级的信息

    班级信息包括:班级名称、位置、讲师、班主任、所有学生
    class1 = {
        'name':'Python2206',
        'address':'14教室',
        'lecturer':{
            'name':'余婷',
            'age':18,
            'qq':'3425435438'},
        'class_teacher':{
            'name':'吴静',
            'age':18,
            'tel':'3654578788'
        },
        'all_student':[
            {
                'name':'stu1','age':18, 'gender':'男','tel':'13214345','linkman':{
                    'name':'fa1','tel':'111111111'
                }
            },
            {
                'name':'stu2','age':21, 'gender':'男','tel':'13214345','linkman':{
                    'name':'fa2','tel':'111111111'
                }
            },
            {
                'name':'stu3','age':17, 'gender':'女','tel':'132547655','linkman':{
                    'name':'fa3','tel':'111111112'
                }
            },
            {
                'name':'stu4','age':19, 'gender':'女','tel':'1321457688','linkman':{
                    'name':'fa4','tel':'111111113'
                }
            },
            {
                'name':'stu5','age':20, 'gender':'男','tel':'1321434577','linkman':{
                    'name':'fa5','tel':'111111114'
                }
            }
        ]
    }
    # 1)获取班级名称
    print(class1['name'])
    # 2)打印讲师的名字
    print(class1['lecturer']['name'])
    # 3)打印班主任的电话
    print(class1['class_teacher']['tel'])
    print('-----------------------------------------------')
    # print(class1[('all_student')])
    # 4)打印所有学生的名字
    for i in class1[('all_student')]:
        print(i['name'])
    print('-----------------------------------------------')
    # 5)打印所有女同学的名字和电话
    for i in class1[('all_student')]:
        if i.get('gender') == '女':
            print(i['name'],i['tel'])
    print('-----------------------------------------------')
    # 6)打印所有男生的联系人名字
    for i in class1[('all_student')]:
        if i['gender']  == '男':
            print(i['linkman']['name'])
    

三、字符串

  1. 认识字符串( str)

    字符串是容器型数据类型;将单引号或者双引号作为容器的标志,引号中的每个符号就是字符串的元素(字符串的元素又叫字符)

  2. 转义字符 - 在特定的符号前加’'来表示特殊意义或者特殊功能的符号

    '''
    常见的转义字符:
    \n : 换行
    \t : 水平制表符(按一个tab键)
    \' : 表示一个普通的单引号
    \" : 表示一个普通的双引号
    \\ : 表示一个普通的反斜杠
    
    注意:计算字符串长度的时候,一个转义字符的长度是1
    '''
    str1 = 'abcn123'
    print(str1)         # abcn123
    str2 = 'It's me.'   # 报错
    str3 = 'It\'s me.'
    str4 = "It's me."
    str5 = 'abc\\n123'  # abc\n123
    
  3. 字符串的相关操作

    print('abc' + 'Hello')   # 'abcHello'
    print('abc' * 3)    # 'abcabcabc'
    print('a' in 'abcjih')  # True
    print('abc' in 'abcjih')   # True
    print('acb' in 'abcjih')   # False
    
  4. 格式字符串 - ( f-string)

    name = input('请输入学生的名字:')
    age = int(input('请输入学生的年龄:'))
    
    # message : 'xxx今年xx岁!'
    message = name + '今年' + str(age) + '岁!'
    print(message)
    message2 = f'{name}今年{str(age)}岁!'
    print(message2)   # xiao今年13岁!
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这个话题很适合进行 Python 计算思维的训练。 首先我们来了解一下字典字符串的基本概念。 字典是一种可变容器,可以存储任意类的对象。字典中的每个元素都是由一个键和一个值组成的键值对,键和值之间用冒号分隔。字典用大括号 {} 来表示,例如: ```python my_dict = {'apple': 1, 'banana': 2, 'orange': 3} ``` 其中,'apple'、'banana' 和 'orange' 是键,1、2 和 3 是值。 字符串Python 中的一种基本数据类型,表示一串字符序列。字符串用单引号或双引号来表示,例如: ```python my_string = 'hello world' ``` 字符串可以进行各种操作,例如拼接、切片、替换等。 接下来,我们来看一些常见的字典字符串操作。 1. 字典操作 (1)访问字典元素 可以使用方括号 [] 来访问字典中的元素,例如: ```python my_dict = {'apple': 1, 'banana': 2, 'orange': 3} print(my_dict['apple']) # 输出 1 ``` (2)添加和修改字典元素 可以使用方括号 [] 来添加或修改字典中的元素,例如: ```python my_dict = {'apple': 1, 'banana': 2, 'orange': 3} my_dict['peach'] = 4 # 添加元素 my_dict['apple'] = 5 # 修改元素 print(my_dict) # 输出 {'apple': 5, 'banana': 2, 'orange': 3, 'peach': 4} ``` (3)删除字典元素 可以使用 del 关键字来删除字典中的元素,例如: ```python my_dict = {'apple': 1, 'banana': 2, 'orange': 3} del my_dict['banana'] # 删除元素 print(my_dict) # 输出 {'apple': 1, 'orange': 3} ``` 2. 字符串操作 (1)字符串拼接 可以使用加号 + 来拼接字符串,例如: ```python my_string1 = 'hello' my_string2 = 'world' print(my_string1 + ' ' + my_string2) # 输出 'hello world' ``` (2)字符串切片 可以使用方括号 [] 来进行字符串切片,例如: ```python my_string = 'hello world' print(my_string[0:5]) # 输出 'hello' print(my_string[6:]) # 输出 'world' ``` (3)字符串替换 可以使用 replace() 方法来进行字符串替换,例如: ```python my_string = 'hello world' new_string = my_string.replace('world', 'python') print(new_string) # 输出 'hello python' ``` 以上就是字典字符串的基本操作,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值