zoukankan      html  css  js  c++  java
  • python基础:列表、字典、元组、集合四种数据结构的方法以及使用整理

    列表:shoplist = ['apple', 'mango', 'carrot', 'banana']
    字典:di = {'a':123,'b':'something'}
    集合:jihe = {'apple','pear','apple'}
    元组: t = 123,456,'hello'

    1.列表
        空列表:a=[]
        函数方法:a.append(3)       >>>[3]    
              a.extend([3,4,5])       >>>[3,3,4,5]    添加一个列表序列
              a.insert(1,'hello')        >>>[3,'hello',3,4,5]
              a.remove(3)             >>>['hello',3,4,5] 删除第一个出现的3,没有3则报错
              a.pop()              >>>['hello',3,4]
              a.pop(0)              >>>[3,4]
              a.index(4)          >>>1    返回出现的第一个4的下标
              a.count(3)          >>>1    列表中元素3的个数
              a.sort        >>>[3,4]    排序
              a.reverse()        >>>[4,3]    反序
        删除元素的方法
            a.remove(3)    通过值删除元素,删除第一个为参数值得元素
            a.pop()       通过下标删除元素,默认删除列表最后一个值,带参数则删除下标为参数值的元素
            del a[0]       通过下标删除元素,
                del a[2:4] 删除a表下标为2,3的元素
            del a[:]   删除a列表所有元素
            del a       删除列表
        列表推导式:
            vec = [2,4,6]    
             [3*x for x in vec if x<6]    >>>[6,12]    3*2,3*4
            vec2 = [1,2,3]
            [x*y for x in vec for y in vec2]    >>>[2,4,6,4,8,12,6,12,18]
        嵌套列表推导式:
            mat = [
            [1,2,3],
            [4,5,6],
            [7,8,9]
            ]
            print ([[row[i] for row in mat] for i in [0,1,2]])    #row--一行数据,row[0]--一行数据中下标为0的元素,就是列元素
            >>>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
        思考:list (zip(mat)) 和 list (zip(*mat))结果会有什么不同
    2.元组
        空元组:t = ()
        元组赋值: t = (123,345)
               t[0]         >>>123
    3.字典    
        d = {'Jack':'jack@mail.com','Tom':'Tom@main.com'}
        d['Jack']            >>>'jack@mail.com
        d['Jim'] = 'Jim@sin.com'    >>>{'Jim': 'Jim@sin.com', 'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}             

      del d['Jim']    >>>{'Jack': 'jack@mail.com', 'Tom': 'Tom@main.com'}
        list(d.keys())    将返回一个字典中所有关键字组成的无序列表
        sorted(d.keys()) 将返回一个字典中所有关键字组成的排序列表
        dict()    构造函数可以直接从key-value对中创建字典
        dict([('Tim',123),('Tiny',234)])    >>>{'Tiny': 234, 'Tim': 123}    
        推导式创建字典:
            {d2:d2+'@main.com' for d2 in list(d.keys())}
                >>>{'Jack': 'Jack@main.com', 'Tom': 'Tom@main.com'}
        练习:循环输出字典中的键值对:
            for name,email in d.items():
                print(name,email)
    4.集合
        空集合:A = set() ※想要创建空集合,必须使用set()
        演示:
        basket = {'apple','orange','apple'}    >>>{'orange', 'apple'}    注意重复的元素只显示一个?
        'apple' in basket              >>>True
        'pear' in basket            >>>False

        集合的数学运算:    
            a = set('ababcdabca')        >>>{'c', 'b', 'a', 'd'}
            b = {'a','b','m'}            >>>{'b', 'a', 'm'}
            a - b        >>>{'c', 'd'}
            b - a        >>>{'m'}
            a | b        >>>{'c', 'd', 'b', 'a', 'm'}
            a & b        >>>{'a','b'}
            a ^ b        >>>{'c','d','m'}
        集合推导式:
           {x for x in a if x not in 'ab'}    >>>{'c','d'}

  • 相关阅读:
    微信成为开发者C#代码
    Ajax.ActionLink()方法的使用
    Entity FrameWork初始化数据库的四种策略
    最长公共子序列
    表达式求值
    韩信点兵
    蛇形填数
    5个数求最值
    求转置矩阵问题
    素数求和问题
  • 原文地址:https://www.cnblogs.com/yizhenfeng168/p/6915677.html
Copyright © 2011-2022 走看看