美文网首页
python数据结构

python数据结构

作者: DerErfolg | 来源:发表于2020-04-07 10:42 被阅读0次

    列表(list)

    列表是以固定顺序保存对象的容器,列表用方括号表示,列表可以保存任意数据类型,是可变数据结构,可以向列表增删对象。

    # 创建列表的方法:
    my_list = []  #第一种方法
    my_list = list()
    

    列表的操作:

    • append方法,将新元素添加至列表末尾
    • pop方法,移除列表中最后一个元素
    random = []
    random.append(100)
    random.append('hello')
    random
    
    >>[100, 'hello']
    

    列表截取实例

    >>>L = ['Google', 'Runoob', 'Taobao']
    >>> L[2]
    'Taobao'
    >>> L[-2]
    'Runoob'
    >>> L[1:]
    ['Runoob', 'Taobao']
    
    Python表达式 结果 描述
    L[2] 'Taobao' 读取列表中第三个元素
    L[-2] 'Runoob' 读取列表中倒数第二个元素
    L[1:] ['Runoob', 'Taobao'] 从第二个元素开始截取列表

    方法 操作
    list.append(obj) 在列表末尾添加新的对象
    list.count(obj) 统计某个元素在列表中出现的次数
    list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
    list.insert(index, obj) 将对象插入列表
    list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj) 移除列表中某个值的第一个匹配项
    list.reverse() 反向列表中元素
    list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序

    元组(tuple)

    元组是存储有序对象的一种容器,元组是不可变的,元组创建后无法添加或者修改其元素,元组用圆括号表示。

    # 创建元组的方法
    my_tuple = ()
    my_tuple = tuple()
    

    字符串(string)

    字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
    创建字符串很简单,只要为变量分配一个值即可。例如:

    var1 = 'Hello World!'
    var2 = "Python Runoob"
    

    Python 转义字符

    在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。如下表:

    转义字符 描述
    (在行尾时) 续行符
    \ 反斜杠符号
    ' 单引号
    " 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符,例如:\o12代表换行
    \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
    \other 其它的字符以普通格式输出

    python字符串内建函数,常用的操作

    方法 描述
    string.capitalize() 把字符串的第一个字符大写
    string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
    string.decode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'
    string.encode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
    string.endswith(obj, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
    string.expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。
    string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
    string.format() 格式化字符串
    string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
    string.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
    string.isdigit() 如果 string 只包含数字则返回 True 否则返回 False.
    string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    string.lower() 转换 string 中所有大写字符为小写.
    string.lstrip() 截掉 string 左边的空格
    string.replace(str1, str2, num=string.count(str1)) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
    string.rstrip() 删除 string 字符串末尾的空格.
    string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串
    string.strip([obj]) 在 string 上执行 lstrip()和 rstrip()
    string.swapcase() 翻转 string 中的大小写
    string.title() 返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
    string.upper() 转换 string 中的小写字母为大写
    string.zfill(width) 返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

    字典(dict)

    字典是用于存储对象的内置容器,他们被用来链接键(key)和值(value)这两个对象,将一个对象链接至另一个对象,也被称为映射(mapping)结果为产生一个键值对(key-value-pair),字典是可变数据结构,用花括号表示。

    # 创建字典的方法
    my_dict = dict()
    my_dict = {}
    

    访问字典里的值

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    print "dict['Name']: ", dict['Name']
    print "dict['Age']: ", dict['Age']
    
    dict['Name']:  Zara
    dict['Age']:  7
    

    修改字典

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    dict['Age'] = 8 # 更新
    dict['School'] = "RUNOOB" # 添加
     
     
    print "dict['Age']: ", dict['Age']
    print "dict['School']: ", dict['School']
    

    删除字典元素

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    del dict['Name']  # 删除键是'Name'的条目
    dict.clear()      # 清空字典所有条目
    del dict          # 删除字典
    

    字典内置函数&方法

    Python字典包含了以下内置函数:

    序号 函数及描述
    cmp(dict1, dict2) 比较两个字典元素。
    len(dict) 计算字典元素个数,即键的总数。
    str(dict) 输出字典可打印的字符串表示。
    type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。

    Python字典包含了以下内置方法:

    序号 函数及描述
    dict.clear() 删除字典内所有元素
    dict.copy() 返回一个字典的浅复制
    dict.fromkeys(seq[, val]) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
    dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
    dict.has_key(key) 如果键在字典dict里返回true,否则返回false
    dict.items() 以列表返回可遍历的(键, 值) 元组数组
    dict.keys() 以列表返回一个字典所有的键
    dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    dict.update(dict2) 把字典dict2的键/值对更新到dict里
    dict.values() 以列表返回字典中的所有值
    pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    popitem() 返回并删除字典中的最后一对键和值。

    集合(set)

    集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    parame = {value01,value02,...}
    或者
    set(value)
    
    >>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
    >>> print(basket)                      # 这里演示的是去重功能
    {'orange', 'banana', 'pear', 'apple'}
    >>> 'orange' in basket                 # 快速判断元素是否在集合内
    True
    >>> 'crabgrass' in basket
    False
     
    >>> # 下面展示两个集合间的运算.
    ...
    >>> a = set('abracadabra')
    >>> b = set('alacazam')
    >>> a                                  
    {'a', 'r', 'b', 'c', 'd'}
    >>> a - b                              # 集合a中包含而集合b中不包含的元素
    {'r', 'd', 'b'}
    >>> a | b                              # 集合a或b中包含的所有元素
    {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
    >>> a & b                              # 集合a和b中都包含了的元素
    {'a', 'c'}
    >>> a ^ b                              # 不同时包含于a和b的元素
    {'r', 'd', 'b', 'm', 'z', 'l'}
    

    相关文章

      网友评论

          本文标题:python数据结构

          本文链接:https://www.haomeiwen.com/subject/tlqiphtx.html