• Python-列表、元组、字典


    列表

    序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    a = ['spa', 'egg', 12, 34]
    print(a)
    #['spa', 'egg', 12, 34]

    列表的一些基本操作

    索引、切片

    a = ['spa', 'egg', 12, 34]
    print(a[1])
    #egg
    print(a[:1])
    #['spa']

    修改元素值

    a = ['spa', 'egg', 12, 34]
    a[2] = 22
    print(a)
    #['spa', 'egg', 22, 34]

    添加元素

      1.append() 新元素添加到列表尾部

    a = ['spa', 'egg', 12, 34]
    a.append('new')
    print(a)
    #['spa', 'egg', 12, 34, 'new']

      2.insert() 插入到指定位置

    a = ['spa', 'egg', 12, 34]
    a.insert(1, 99)
    print(a)
    #['spa', 99, 'egg', 12, 34]

      3.extend()  扩展,在列表末尾一次性追加另一个序列中的多个值

    a = ['spa', 'egg', 12, 34]
    b = ['abb', 99]
    a.extend(b)
    print(a)
    #['spa', 'egg', 12, 34, 'abb', 99]

    删除

      1.del  删除指定索引处的元素

    a = ['spa', 'egg', 12, 34]
    del a[1]
    print(a)
    #['spa', 12, 34]

      2. pop()  删除列表尾部一个元素

    a = ['spa', 'egg', 12, 34]
    a.pop()
    print(a)
    #['spa', 'egg', 12]

      3. remove()  删除指定元素

    a = ['spa', 'egg', 12, 34]
    a.remove(12)
    print(a)
    #['spa', 'egg', 34]

     查找-index( value, start=None, stop=None)  从列表中找出某个值第一个匹配项的索引位置  ps: start<=查找范围<stop

    a = ['spa', 'egg', 12, 34]
    print(a.index(12))
    #2
    a = ['spa', 'egg', 12, 34, 'egg']
    print(a.index('egg', 2, 5))
    #4

    反向-reverse()

    a = ['spa', 'egg', 12, 34, 'egg']
    a.reverse()
    print(a)
    #['egg', 34, 12, 'egg', 'spa']

    排序-sort()

    a = ['spa', 'egg', '12', '34', 'egg']
    a.sort()
    print(a)
    #['12', '34', 'egg', 'egg', 'spa']

    长度-len()

    a = ['spa', 'egg', '12', '34', 'egg']
    print(len(a))
    #5

    元组

    元组与列表类似,不同之处在于元组的元素不能修改。

    tup1 = ('spa', 'egg', '12', '34', 'egg')
    #元组中只包含一个元素时,需要在元素后面添加逗号
    tup2 = (50,)

    查看元组

    tup1 = ('spa', 'egg', '12', '34', 'egg')
    print("tup1[1]:", tup1[1])
    print("tup1[1:3]:", tup1[1:3])
    #tup1[1]: egg
    #tup1[1:3]: ('egg', '12')

    元组连接

    tup1 = ('spa', 'egg', '12', '34', 'egg')
    tup2 = (12, 34, 56)
    tup3 = tup1+tup2
    print(tup3)
    #('spa', 'egg', '12', '34', 'egg', 12, 34, 56)

    删除-元组元素不能被删除,但元组可以被删除

    tup1 = ('spa', 'egg', '12', '34', 'egg')
    print(tup1)
    del tup1
    print(tup1)

    执行异常,tup1找不到

    print(tup1)
    NameError: name 'tup1' is not defined

    统计-count(value) ,统计指定元素的个数

    tup1 = ('spa', 'egg', '12', '34', 'egg')
    print(tup1.count('egg'))
    #2

    字典

    字典是另一种可变容器模型,且可存储任意类型对象,如其他容器模型。字典由键和对应值成对组成。

    每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。

    键必须独一无二,但值则不必。

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    dict1 = {'a': 1, 'b': 2, 'c': 3}

     访问字典-[key] ,如果key在字典中不存在,则会抛出异常。

    dict = {'Name': 'King', 'Age': 21, 'Class': '2-9'}
    
    print ("Name: ", dict['Name'])
    print ("Age: ", dict['Age'])
    print ("Class: ", dict['Class'])
    
    #输出结果
    Name:  King
    Age:  21
    Class:  2-9

    修改字典

    dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}
    
    dict1['Age'] = 18#修改Age
    dict1['School'] = "DPS School" # Add new entry
    
    print ("Age: ", dict1['Age'])
    print ("School: ", dict1['School'])
    
    #输出结果
    Age:  18
    School:  DPS School
    

    get() 返回key所对应的val  ,如果key不存在,返回None

    dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}
    print ("Age: ", dict1.get("Age"))
    
    #输出结果
    Age:  21
    

    fromkeys(seq, value)

    seq = ('name', 'age', 'sex')
    
    dict = dict.fromkeys(seq, "value")
    print ("New Dictionary : %s" %  str(dict))
    
    #输出结果
    New Dictionary : {'sex': 'value', 'name': 'value', 'age': 'value'}
    

    values() 返回字典中的所有值

    dict1 = {'Name': 'King', 'Age': 21, 'Class': '2-9'}
    
    print (dict1.values())
    
    #输出结果
    dict_values(['2-9', 21, 'King'])
    

      

     

  • 相关阅读:
    关于BigDecimal转String的准确性问题
    MyBatis动态Sql之if标签的注意事项
    Servlet与通信协议概述
    关于ThreadLocal的那些事
    MyBatis 中 @Param 注解的四种使用场景
    Mybatis中#{}与${}的区别
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    jsp有哪些动作?作用分别是什么?
    forward 和redirect的区别 ?
    Eureka和ZooKeeper都可以提供服务注册与发现的功能,请说说两个的区别?
  • 原文地址:https://www.cnblogs.com/kingleft/p/5161661.html
Copyright © 2020-2023  润新知