Python中列表、字典、元组、集合数据结构整理
admin
2023-07-31 02:11:02
0

本文详细归纳整理了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程序设计有所帮助。

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...