zoukankan      html  css  js  c++  java
  • Python3 学习第一弹:基本数据类型

    本人学习主要从《python基础教程第二版》,《dive into python3》等书籍,及一些网上大牛的博客中学习
    特别是Python官方文档《Python Tutorial》
    主要有博客:
    廖雪峰
    Python教程

      VameiPython快速教程
    以及从其他博客中学习一些部分。
      如:
    AstralWind :Python正则表达式指南
    这些博客都令我受益匪浅,写这个系列的博客主要是当前的python3相关教程较少(虽然和python2差别不大),我其实主要是作为一个小翻译将其改为python3代码。
    而写这个博客目的其实是个人的对于python的学习之用,可能不适合阅读。或许更像一个字典用来查询。
    此外,博客主要内容对于叙述方面较少,只是给出用法以及解释,所以适合有编程相关基础的读者浏览。


    python提供了很多数据结构,不过其很多操作都是朴素操作,速度慢
    时间复杂度参见:https://wiki.python.org/moin/TimeComplexity
    可遍历(for): list, string, 
    判断元素是否存在(in): list, string, tuple
    合并: list, string
    元素个数(len())
    元素和(sum())

    string(字符串)

        word = 'banana'
        特点: 不可变的列表
      详细见:Python 学习第二弹 字符串String

    list(列表)

        a = [1, 'abc', [a, b, c]]
        特点: 列表有顺序
        操作: 
            查询:
                a[l:r](返回该区间的列表)
                a[l:r:k](返回[l, r-1]区间中 步长为k的元素列表)
            插入:
                a.append(b)(尾部插入值b)
            删除:
                del a[i](删除下标为i或者一段区间的元素)
            比较:(以字典序来比较,返回True or False)
                a == b
                a < b
            分片操作:
                a[l:r] = b (将[l,r-1]区间序列替换为序列b 长度不必相同)
    
    ADD:
        列表方法:(一般是对于列表,字符串等适用的方法)
        a = list();
        1> a.append(x) 在末尾添加元素x
        2> a.cound(x) 统计元素x出现次数
        3> a.extend(b) 在末尾添加列表b,相当于a = a + b
        4> a.index(x) 返回第一个元素为x的下标
        5> a.insert(loc, x) 在loc下标处加入元素x
        6> a.pop(loc) 删除下标为loc的元素,若无loc默认最后一个
        7> a.remove(x) 删除第一个值为x的元素
        8> a.reverse() 将列表a反向存放
        9> a.sort() 将列表a进行排序
            此外sort(key, reverse)可以对排序提供比较函数和是否反向排序
            如
            >>>a = ['aa', 'b', 'ccc']
            >>>a.sort(key = len, reverse = True) #按字符串长度比较
            key为比较的对象,默认从小到大排序,若从大到小只需reverse = True

    dict(字典)

        dic = {}
        dic = {'one': 'uno', 'two': 'dos', 'three': 'tres'}
        特点: 每一项为一个键值对,每个键唯一
        操作:
            查询:
                dic['one'](返回指定键的键值)
                dic.keys()(返回dic所有键的列表)
                dic.values()(返回dic所有键值的列表)
                dic.items()(返回dic所有的键值对(二元组表示)的列表)
            插入:
                dic[a] = b(插入(a,b)的键值对)
            删除:
                dic.pop(i,j)(删除以i为下标的键值对 若不存在返回j)
                dic.clear()(清空字典)
                del dic[b](删除以b为键的键值对)

    tuple(元组):

        t = (1,)(区别出表示元组而非数字)
        t = (1, 'a', [1,2])
        特点:不可变
        操作:
            查询:
                dic[l:r](返回l到r-1的元组)
                dic.index(b)(返回值为b的下标)
            用法:
                a, b = b, a (a b交换赋值)
                (1, 2) < (2, 3) (类似字典序方法比较大小)

    set(集合):

        s = {1,} #区别出这是集合而非字典
        s = set('spam')
        s = set(['a', 'b'])
        特点: 无重复
        操作:
            查询:
                a in s (返回a是否存在于s集合)
                s|t  s.union(t)(返回s和t并集)
                s&t  s.intersection(t)(返回s和t交集)
                s-t  s.difference(t)(返回s中有t没有的元素集合)
            插入:
                s.add(a)(插入元素a)
            删除:
                s.pop()(删除随机一元素)
                s.remove(a)(删除元素a)
                s.clear()(清空集合s)

      

     
  • 相关阅读:
    Java I/O(二 使用)
    Java 基本I/O的学习总结(一 是什么)
    设计模式(一)
    浏览器输入一个网址(发生的过程)
    final关键字的4种用法
    JavaScript(4)——闭包与this对象以及window对象
    JavaScript(3)—— 正则表达式
    JavaScript(2)——对象属性、原型与原型链
    JavaScript(1)——变量、函数声明及作用域
    构建分布式配置中心阿波罗(Apollo)
  • 原文地址:https://www.cnblogs.com/Mathics/p/4007032.html
Copyright © 2011-2022 走看看