• python 基础学习三:数据结构对比


    各数据结构对比

    列表 元组 集合 字典
    英文 list tuple set
    可否读写 读写 只读 读写
    可否重复
    存储方式 键(不能重复)
    是否有序 有序 有序 无序
    初始化 [1,'a'] ('a', 1) set([1,2]) 或 {1,2}
    添加 append 只读 add
    读元素 l[2:] t[0]

    各数据结构方法

    列表(list)

    具有以下特点:
    1.可以用list()函数或者方括号[]创建,元素之间用逗号’,‘’分隔。
    2.列表的元素不需要具有相同的类型
    3.使用索引来访问元素
    4.可切片 
    
    操作 解释
    list.append(): 追加成员
    list.count(x): 计算列表中参数x出现的次数
    list.extend(L): 向列表中追加另一个列表L
    list.index(x): 获得参数x在列表中的位置
    list.insert(): 向列表中插入数据
    list.pop(): 删除列表中的成员(通过下标删除)
    list.remove(): 删除列表中的成员(直接删除)
    list.reverse(): 将列表中成员的顺序颠倒
    list.sort(): 将列表中成员排序
    list(seq) 将元组转换为列表。

    元组(tuple)

    元组跟列表很像,只不过元组用小括号来实现(),这里要区分好和生成器的区别,两者都可用小括号来实现的
    
    具有以下特点:
    1.可以用tuple()函数或者方括号()创建,元素之间用逗号’,‘’分隔。
    2.元组的元素不需要具有相同的类型
    3.使用索引来访问元素
    4.可切片
    5.元素的值一旦创建就不可修改!!!!!(这是区别与列表的一个特征)
    
    操作 解释
    cmp(tuple1, tuple2) 比较两个元组元素。
    len(tuple) 计算元组元素个数。
    max(tuple) 返回元组中元素最大值。
    min(tuple) 返回元组中元素最小值。
    tuple(seq) 将列表转换为元组。
    字典(Dictionary)
    字典是另一种可变容器模型,且可存储任意类型对象。
    
    具有以下特点:
    1.元素由键(key)和值(value)组成
    2.可以用dict()函数或者方括号()创建,元素之间用逗号’,‘’分隔,键与值之间用冒号”:”隔开
    3.键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
    4.使用键(key)来访问元素
    
    操作 解释
    adict.keys() 返回一个包含字典所有KEY的列表;
    adict.values() 返回一个包含字典所有value的列表;
    adict.items() 返回一个包含所有(键,值)元祖的列表;
    adict.clear() 删除字典中的所有项或元素;
    adict.copy() 返回一个字典浅拷贝的副本;
    adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
    adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
    adict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
    adict.iteritems() adict.iterkeys() adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
    adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
    adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
    adict.update(bdict) 将字典bdict的键值对添加到字典adict中。
    集合(set)
    具有以下特点:
    1.可以用set()函数或者方括号{}创建,元素之间用逗号”,”分隔。
    2.与字典相比少了键
    3.不可索引,不可切片
    4.不可以有重复元素
    
    操作 解释
    s.issubset(t),s <= t 测试是否 s 中的每一个元素都在 t 中
    s.issuperset(t),s >= t 测试是否 t 中的每一个元素都在 s 中
    s.union(t),s t
    s.intersection(t),s & t 返回一个新的 set 包含 s 和 t 中的公共元素
    s.difference(t),s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素
    s.symmetric_difference(t),s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素
    s.copy() 返回 set “s”的一个浅复制

    列表、元组、集合、字典相互转换

    列表元组转其他

    #列表转集合(出重) 
    list1 = [6,7,8,8,9] 
    a=set(list1) 
    print(a) 
      
     
    #两个列表转字典 
    list1 = ['key1','key2','key3'] 
    list2 = ['1','2','3'] b
    =dict(zip(list1,list2)) 
    print(b)  #嵌套列表转字典 
    list3 = [['key1','value1'],['key2','value2'],['key3','value3']] 
    c=dict(list3) print(c) 
      
     
    # 列表、元组转字符串 
    list2 = ['a', 'a', 'b'] 
    d=''.join(list2) 
    print(d) 
     
     t
    up1 = ('a', 'a', 'b') 
    d=''.join(tup1) 
    print(d) 
    

    字典转其他

    # 字典转换为字符串 
    dic1 = {'a':1,'b':2} 
    e=str(dic1) 
    print(e) 
     
     
    # 字典key和value互转 
    dic2 = {'a': 1, 'b': 2, 'c': 3} 
    dic3={value:key for key, value in dic2.items()} 
    print(dic3) 
    

    字符串转其他

    # 字符串转列表 
    s = 'aabbcc' 
    f=list(s) 
    print(f)
    # 字符串转元组 
    g=tuple(s) 
    print(g)
    # 字符串转集合 
    h=set(s) 
    print(h)
    # 字符串转字典 
    dic2 = eval("{'name':'ljq', 'age':24}") 
    print(dic2)
    # 切分字符串 
    a = 'a b c' 
    i=a.split(' ') 
    print(i)
  • 相关阅读:
    过去式和过去进行式
    现在式和现在进行式
    英文文法的最基本规则
    Vue 标签中的ref属性和refs
    APICloud
    小程序
    React 传值 组件传值 之间的关系
    css clip样式 属性功能及作用
    小程序点击预览 为什么显示空白
    小程序
  • 原文地址:https://www.cnblogs.com/txdblog/p/15291049.html
Copyright © 2020-2023  润新知