Python中列表、字典、元组、集合数据结构整理

作者:shichen2014 时间:2022-08-02 05:54:57 

本文详细归纳整理了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]])   
        >>>[[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'}

希望本文所述对大家的python程序设计有所帮助。

标签:Python,列表,字典,元组,集合
0
投稿

猜你喜欢

  • asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码

    2011-04-14 10:39:00
  • MySQL和MongoDB设计实例对比

    2011-06-19 15:41:01
  • 进一步了解Python中的XML 工具

    2022-06-25 21:49:17
  • Python pandas实现excel工作表合并功能详解

    2021-05-23 01:33:40
  • asp下通过HTTP_USER_AGENT判断用户是从手机上访问,还是电脑IE上访问

    2011-02-24 11:00:00
  • Python打印“菱形”星号代码方法

    2023-02-05 17:34:42
  • django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例

    2021-04-17 02:03:04
  • 怎样解决MySQL 5.0.16的乱码问题

    2008-10-13 12:47:00
  • asp简单可逆运算字符串加密解密函数

    2010-05-04 16:42:00
  • python基础教程之分支、循环简单用法

    2021-05-30 08:51:48
  • python中的三种注释方法

    2023-05-27 07:47:01
  • AMP Tensor Cores节省内存PyTorch模型详解

    2021-07-08 01:30:32
  • ASP如何使用CDONTS来发送电子邮件?

    2010-06-05 12:35:00
  • 总结分析Python的5个硬核函数

    2022-04-12 11:05:42
  • python实现自动发送报警监控邮件

    2023-02-02 06:17:15
  • 提高asp程序访问速度的方法

    2008-10-23 16:37:00
  • JDBC连接MySQL数据库关键的四个步骤

    2009-12-17 12:06:00
  • python 与服务器的共享文件夹交互方法

    2021-02-10 14:29:02
  • Python使用PyAudio制作录音工具的实现代码

    2023-09-07 22:36:46
  • 成为一个顶级设计师的第二准则

    2008-04-01 09:41:00
  • asp之家 网络编程 m.aspxhome.com