总体来说,在 python 语言中数据类型可以按照数据类型是否是可变的分为两大类,一种是可变数据类型、另一种则是不可变的数据类型。数据类型是否可变指的是能否对数据对象进行直接修改而不是指是否能对对象重新赋值。在 python 的数据结构中,经常使用的有字符串、列表、元组、字典、集合,元组一般是不可以修改其中的数据元素的,而其中列表的使用频率相对较高,所以列表也是这里要讨论的重点,将其放到最后来说。
1、数据结构 --> 元组
1if __name__ == '__main__':
2 # 定义元组
3 tuple_ = ('Hello Python','Sir.Wang')
4 # 打印元组长度
5 print len(tuple_)
6 # 获取元素的个数
7 print tuple_.count('Sir.Wang')
8 # 获取元素的下标位置
9 print tuple_.index('Sir.Wang')
10 # 提取位置 1 之前的元素
11 print tuple_[:1]
12 # 合并元组
13 print tuple_ + tuple_
14 # 合并重复元组
15 print tuple_ * 4
2、数据结构 --> 字典
1if __name__ == '__main__':
2 # 定义字典
3 dict_ = {'name':'python','type':'Sir.Wang'}
4 print dict_
5 # 添加元素
6 dict_['age'] = 20
7 print dict_
8 # 删除元素
9 del dict_['age']
10 print dict_
11 # 修改元素值
12 dict_['type'] = 'laow'
13 print dict_
14 # 获取元素值
15 print dict_['name']
16 # 获取键值对的个数
17 print len(dict_)
18 # 获取字典中所有的key
19 print dict_.keys()
20 # 获取字典中所有的值
21 print dict_.values()
22 # 获取字典中的所有键值
23 print dict_.items()
24 # 查找键key是否存在
25 print dict_.has_key('name')
3、数据结构 --> 集合
集合的概念和数学中集合的概念使用类似,可以使用集合进行并集、交集、差集、异或集的输出,用以解决特殊的问题。
1if __name__ == '__main__':
2 x = {'a','b','c','d','e','f'}
3 y = {'d','e','f','h','i','j'}
4 # 交集
5 print x & y
6 # 并集
7 print x | y
8 # 差集
9 print x - y
10 # 异或集
11 print x ^ y
12 # 关于集合之间元素的交集、并集、差集、异或集计算也可以使用集合对象的内置函数来进行计算
13 # 向集合添加元素
14 x.add('p')
15 print x
16 # 删除元素
17 x.remove('p')
18 print x
19 # 随机删除元素
20 x.pop()
21 print x
22 # 清空集合元素
23 x.clear()
24 print x
4、数据结构 --> 列表
1if __name__ == '__main__':
2 # 定义列表,列表中的对象元素可以不是同一类型的数据
3 list_ = list([1,'python',{'name':'Sir.Wang'}])
4 print list_
5 # 获取数据元素个数
6 print len(list_)
7 # 获取某个元素的个数
8 print list_.count(1)
9 # 获取元素下标
10 print list_.index({'name':'Sir.Wang'})
11 # 两个列表合并
12 print list_ + list_
13 # 重复列表合并
14 print list_ * 4
15 # 根据下标获取数据元素
16 print list_[1]
17 # 将新元素加入到列表的最后
18 list_.append('hello world')
19 print list_
20 # 向指定下标位置插入新元素,其余元素向后移一位
21 list_.insert(1,'test')
22 print list_
23 # 移除元素
24 list_.remove('test')
25 print list_
26 # 按下标位置提取元素
27 del list_[0:1]
28 print list_
29 # 修改对应下标的元素值
30 list_[0] = 'cr'
31 print list_
32 # 提取下标位置的元素
33 print list_[0]
34 # 列表排序
35 list_.sort()
36 print list_
更多精彩前往微信公众号【Python 集中营】,专注后端编程实战,原创文章每天更新!
相关推荐
在Python3环境下,调试实现了《大话设计模式》中简单工厂模式,通过定义单独的工厂类,完成对具体的产品的实例化,参考链接 具体实现见代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # Date : 2017-10-15 ...
本文实例讲述了Python设计模式之适配器模式原理与用法。分享给大家供大家参考,具体如下: 适配器模式(Adapter Pattern):将一个类的接口转换成为客户希望的另外一个接口. 下面是一个适配器模式的demo: #!/usr/bin/...
本文实例讲述了Python设计模式之原型模式。分享给大家供大家参考,具体如下: 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 一个原型模式的简单demo: #!/usr/bin/...
本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下: 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的...
本文实例讲述了Python设计模式之抽象工厂模式原理与用法。分享给大家供大家参考,具体如下: 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 下面是一个...
本文实例讲述了Python设计模式之代理模式。分享给大家供大家参考,具体如下: 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ =...
本文实例讲述了Python设计模式之简单工厂模式。分享给大家供大家参考,具体如下: 简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 下面使用...
本文实例讲述了Python设计模式之享元模式原理与用法。分享给大家供大家参考,具体如下: 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象. 下面是一个享元模式的demo: #!/usr/bin/env python...
本文实例讲述了Python设计模式之策略模式。分享给大家供大家参考,具体如下: 策略模式(Strategy Pattern):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户. ...
本文实例讲述了Python设计模式之状态模式原理与用法。分享给大家供大家参考,具体如下: 状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 下面是一个状态模式的...
python入门进阶6本书:cookbook-LeetCode.pdf、django入门与实践.pdf、http面试指南.pdf、Python进阶.pdf、The Flask Mega 中文版.pdf、简明python教程.pdf、数据库面试知识点汇总.pdf
本文实例讲述了Python设计模式之工厂方法模式。分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延时到其...
本文实例讲述了Python设计模式之职责链模式原理与用法。分享给大家供大家参考,具体如下: 职责链模式(Chain Of Responsibility):使多个对象都有机会处理请求,从而避免发送者和接收者的耦合关系。将对象连成链并...
本文实例讲述了Python设计模式之备忘录模式原理与用法。分享给大家供大家参考,具体如下: 备忘录模式(Memento Pattern):不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,这样已经后就可将...
本文实例讲述了Python设计模式之迭代器模式原理与用法。分享给大家供大家参考,具体如下: 迭代器模式(Iterator Pattern):提供方法顺序访问一个聚合对象中各元素,而又不暴露该对象的内部表示. 下面是一个迭代器模式...
本文实例讲述了Python设计模式之组合模式原理与用法。分享给大家供大家参考,具体如下: 组合模式(Composite Pattern):将对象组合成成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象...
本文实例讲述了Python设计模式之装饰模式。分享给大家供大家参考,具体如下: 装饰模式(Decorator Pattern):动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活. 下面是一个给人穿衣服...
本文实例讲述了Python设计模式之桥接模式原理与用法。分享给大家供大家参考,具体如下: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化. 下面是一个桥接模式的demo: #!/usr/bin...
本文实例讲述了Python设计模式之建造者模式。分享给大家供大家参考,具体如下: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 下面是一个建造者模式的...