• Python基本数据结构


    Python是动态语言

    list:类似数组,有序集合

      创建:L = ['Michael', 100, True],可以在一个list中包含各种数据

      访问:按索引访问,如L[0];可倒序访问,如L[-1]表示访问list最后一个元素(注意越界问题)

      添加新元素:append()方法,追加元素到list末尾;如:L.append('Lisa')

            insert()方法,添加元素到指定位置;如:L.insert(0,'Lisa'),把‘Lisa’添加到索引为0的位置上

      删除元素:pop()方法,无参数时,删掉list的最后一个元素;如L.pop(),会打印出true

                 有参数时,删掉对应元素;如L.pop(1),则删掉索引为1的元素

      替换元素:直接赋值;如L[0]='Lisa'

           

    tuple:有序列表,中文翻译为元组,一旦创建完毕不能修改

      创建: t = ('Adam', 'Lisa', 'Bart')

      获取tuple元素的方式与list相同

       “可变”tuple:tuple中含有可变元素,

            如 t = ('a', 'b', ['A', 'B'])

                                     L = t[2]

             L[0] = 'X'

             L[1] = 'Y'

            此时tuple改变

    表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的

    dict:含key和value,与数组类似,key值不可重复,key-value对没有顺序,key元素不可变

      创建:

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }

      访问:可以简单地使用 d[key] 的形式来查找对应的 value,如d['Adam'];

         判断key是否存在:if ‘Adam’ in d:……

        使用get()方法:d.get('Adam'),如果key不存在则返回none

        for循环遍历

      更新:d['Paul'] = 72,如果key存在则覆盖

    set:持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

      创建:调用 set() 并传入一个 list,list的元素将作为set的元素:s=set([1, 2, 3, 4])

      访问:set存储的是无序集合,所以我们没法通过索引来访问。访问 set中的某个元素实际上就是判断一个元素是否在set中。   'Bart' in s

        for循环实现遍历    for name in s:  ... print name

      添加:add()方法,如s.add(4);如果添加内容已存在,不会报错,不会继续添加

      删除:remove()方法,如s.remove(4);如果删除内容不存在,则报错,所以删除前进行判断:

     if name in s:
            s.remove(name)

     
  • 相关阅读:
    【freesql】使用Ado执行sql语句查询结果集时参数化举例
    阿里云共享流量包分析脚本
    使用@Autowired注解引入server服务层方法时报错
    druid介绍及使用
    (已解决)org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; neste
    navicat激活及手动激活方案
    Navicat15 试用期过期解决办法
    alibaba Cloud Linux安装mysql
    我的第一个SpringBoot
    Information:java: Errors occurred while compiling module ‘xxx‘
  • 原文地址:https://www.cnblogs.com/HJhj/p/7233873.html
Copyright © 2020-2023  润新知