首先要讲到的就是元组

元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面元组又比不上列表

定义一个元组,你可以不用加‘ [ ] ’,你只需用逗号隔开即可

例如

1
2
3
4
5
6
7
8
9
10
In [1]: my_tuple = "susmote", 28, 123456789
 
In [2]: my_tuple[0]
Out[2]: 'susmote'
 
In [3]: my_tuple[1]
Out[3]: 28
 
In [4]: my_tuple
Out[4]: ('susmote', 28, 123456789)

  

元组也能被嵌套

1
2
3
4
5
6
7
In [5]: nested_t = my_tuple, (4, 3, 2, 1)
 
In [6]: nested_t
Out[6]: (('susmote', 28, 123456789), (4, 3, 2, 1))
 
In [7]: nested_t[0][0]
Out[7]: 'susmote'

  

在这里,元组和列表最大的不同就是元组是不可变的,不能通过直接赋值改变元组中的值

1
2
3
4
5
6
7
8
9
In [8]: my_tuple = "susmote", 28, 123456789
 
In [9]: my_tuple[0] = "ayesup"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-d99875c0ce61> in <module>()
----> 1 my_tuple[0] = "ayesup"
 
TypeError: 'tuple' object does not support item assignment

  下面报了一个类型错误

但是,在元组里面可以包含列表,而列表有是可变的,所以说元组是包含可变对象

1
2
3
4
5
6
In [11]: my_tuple = ([1, 2, 3],[4, 5, 6])
 
In [12]: my_tuple[0][0= 7
 
In [13]: my_tuple
Out[13]: ([7, 2, 3], [4, 5, 6])

  在这里,要注意,括号是可以不用加上的,但为什么规范起见,还是尽量要把括号加上

元组是可以为空的,你只需要在赋值的时候加一个括号即可

1
2
3
4
In [16]: my_tuple = ()
 
In [17]: len(my_tuple)
Out[17]: 0

  

如果你想创建一个只有一个元素的元组,那么你只需要在最后加上一个逗号就可以了

1
2
3
4
5
6
7
In [18]: my_tuple = "susmote",
 
In [19]: my_tuple
Out[19]: ('susmote',)
 
In [20]: len(my_tuple)
Out[20]: 1

  

元组是一个包含多个值的列表集合,所以我们可以直接获取其中的值,并赋给一个变量

1
2
3
4
5
6
7
8
9
10
11
In [27]: my_tuple = "susmote",123456, 18
 
In [28]: my_tuple = "susmote", 18, 13488888888
 
In [29]: name, age, phone = my_tuple
 
In [30]: name
Out[30]: 'susmote'
 
In [31]: phone
Out[31]: 13488888888

  

接下来我们讲一下集合

集合相信大家应该不陌生,初中的时候应该是学过的,当然你如果说你没上个初中,那就另当别论了

由一个或多个确定的元素所构成的整体叫做集合。这是数学中的概念,在python中也可以这样简单的认为

声明一个要用到花括号" { } ",你要把值全部加到括号里面

首先集合的一个重要概念就是无序

例如,我们声明一个集合

1
2
3
4
In [32]: my_set = {'a', 'b', 'c', 'd'}
 
In [33]: print(my_set)
{'b', 'd', 'c', 'a'}

  很清晰的看出他是无序的

同时你也可以通过判断语句" in "来获取某个元素是否存在与集合中,他返回一个布尔类型

1
2
3
4
5
6
7
In [36]: my_set = {'a', 'b', 'c', 'd'}
 
In [37]: 'a' in my_set
Out[37]: True
 
In [38]: 'e' in my_set
Out[38]: False

  tips:Ture代表真,false代表假(相信大家都知道)

然后集合还有一个概念就是里面的元素只能是唯一的,如果有重复的,会自动移除

1
2
3
4
In [1]: my_set = {'a', 'b', 'b', 'c', 'c', 'd'}
 
In [2]: my_set
Out[2]: {'a', 'b', 'c', 'd'}

  

除了通过花括号赋值,我们还可以直接调用 set() 方法,生成一个集合

1
2
3
4
In [3]: my_set = set('abcdefgabcdefg')
 
In [4]: my_set
Out[4]: {'a', 'b', 'c', 'd', 'e', 'f', 'g'}

  

下面我们要讲到集合的一个重要的概念

集合的运算

“ - ”   差运算

1
2
3
4
5
6
In [5]: a = set('abcde')
 
In [6]: b = set('bdfgh')
 
In [7]: a - b
Out[7]: {'a', 'c', 'e'}

  只保留a独有的元素,其他的如有与b相同的则移除

“ | ” 并运算

1
2
3
4
5
6
In [8]: a = set('abcde')
 
In [9]: b = set('bdfgh')
 
In [10]: a | b
Out[10]: {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'}

  包含a和b所有的元素,如果有重复的则只留一个

“ & ” 交运算,求交集

1
2
3
4
5
6
In [11]: a = set('abcde')
 
In [12]: b = set('bdfgh')
 
In [13]: a & b
Out[13]: {'b', 'd'}

  只保留a集合和b集合中相同的元素

“ ^ ” 求交集的补集

1
2
3
4
5
6
In [16]: a = set('abcde')
 
In [17]: b = set('bdfgh')
 
In [18]: a ^ b
Out[18]: {'a', 'c', 'e', 'f', 'g', 'h'}

  保留a和b都单独存在的元素,去除a与b相同的元素

关于集合我们主要需要了解的只有这些,至于运用,后续讲

在这我们再讲最后一种数据类型

字典( Dictionaries)

在python中,字典是一个很常用的数据类型。在其他语言中,也有叫做关联数组的

字典不像列表,元组,存在自动有顺序的索引(index)

字典中的索引也就是必须手动建立的Key(键),每个键对应一个value(值)

而且键除了普通的数值类型之外,还可以用“String”类型

定义一个字典要用到“ { } ”,每个key后面加“ : ”(冒号)接value(值),再加一个值的话,用逗号隔开

例如,我们下面定义一个字典

1
2
3
4
In [23]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [24]: my_dict
Out[24]: {'age': 18, 'name': 'susmote', 'tel': 1348888888}

  

下面我们通过key来获取值

1
2
3
4
5
6
7
In [20]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [21]: my_dict["name"]
Out[21]: 'susmote'
 
In [22]: my_dict["tel"]
Out[22]: 1348888888

  

如果你觉得里面有个元素没用了,你可以通过  “del()”方法来删除

1
2
3
4
5
6
7
8
9
In [23]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [24]: my_dict
Out[24]: {'age': 18, 'name': 'susmote', 'tel': 1348888888}
 
In [25]: del my_dict["tel"]
 
In [26]: my_dict
Out[26]: {'age': 18, 'name': 'susmote'}

  

你可以通过list()方法列出字典里所有的key,或者是所有的value

1
2
3
4
5
6
7
In [32]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [33]: list(my_dict.keys())
Out[33]: ['name', 'age', 'tel']
 
In [34]: list(my_dict.values())
Out[34]: ['susmote', 18, 1348888888]

  

排序,通过sorted()方法按照key的首字母顺序进行排序

1
2
3
4
In [5]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [6]: sorted(my_dict.keys())
Out[6]: ['age', 'name', 'tel']

  

前面讲到集合可以通过 “in”   "not in"判断一个keys是否存在与集合中,当然字典也是可以的,同样也是返回一个布尔类型

1
2
3
4
5
6
7
In [41]: my_dict = {'name': "susmote", 'age': 18, 'tel': 1348888888}
 
In [42]: 'name' in my_dict
Out[42]: True
 
In [43]: 'name'not in my_dict
Out[43]: False

  

使用dict() 生成字典

1
2
In [44]: dict([('name', 'susmote'), ('age', 18), ('Tel', 13488888888)])
Out[44]: {'Tel': 13488888888, 'age': 18, 'name': 'susmote'}

  也可以直接这样(字符串类型简单的时候)

1
2
In [45]: dict(name = "susmote", age = 18, tel = 13488888888)
Out[45]: {'age': 18, 'name': 'susmote', 'tel': 13488888888}

  

python的数据类型大概就是这些,有一些知识点,我会在后面学了控制循环语句之后在讲

Python的数据类型3元组,集合和字典的更多相关文章

  1. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  2. Python - 基础数据类型 tuple 元组

    元组简单介绍 元组是一个和列表和相似的数据类型,也是一个有序序列 两者拥有着基本相同的特性,但是也有很多不同的地方 声明元组 var = (1, 2, 3) var = ("1", ...

  3. python自学笔记(四)python基本数据类型之元组、集合、字典

    一.元组tuple 特性 1.有序集合 2.通过偏移来取数据 3.不可变对象,不能在原地修改内存,没有排序.修改等操作 元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法,确保不会改变我们 ...

  4. 【python基础】之元组 集合 字典

    元组 元组:元组和列表类似.但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序) 1.创建元组 t1 = () #创建一个空元组 t2 = (1, 2, 3) t3 = tupl ...

  5. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  6. python数据类型之元组、字典、集合

    python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

  7. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  8. python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

    #python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...

  9. python初识数据类型(字典、集合、元组、布尔)与运算符

    目录 python数据类型(dict.tuple.set.bool) 字典 集合 元组 布尔值 用户交互与输出 获取用户输入 输出信息 格式化输出 基本运算符 算术运算符 比较运算符 逻辑运算符 赋值 ...

随机推荐

  1. Android项目开发四

    微博客户端开发 本周学习计划 研究微博客户端关于Sqlite数据库代码. 完成微博撰写.发布等功能模块. 将程序中存在的问题解决. 实际完成情况 Sqlite数据库学习与研究 微博客户端功能设定中涉及 ...

  2. Android 实践项目开发一

    这次做的项目是—手机地图系统 本次实验的功能是,为用户提供需要的目标定位系统定位处理,即用户设置一个目标后, 可以在后台启动一个Service,能够定时读取GPS数据已获得用户当前所在的位置信息, 并 ...

  3. noip2007部分题

    1.统计数字 题目描述 Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000 个,现在需要统计这些自然数各自出现 ...

  4. Python3基础 str capitalize 返回新字符串,第一个字母大写

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. E: could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporary unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it

    1. 问题详细提示如下: E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unava ...

  6. Java 多线程中的任务分解机制-ForkJoinPool,以及CompletableFuture

    ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”,把多个“小任务”放到多个处理器核心上并行执行:当多个“小任务”执行完成之后,再将这些执行结果 ...

  7. Windows 上安装 pip

    1 从  https://pypi.python.org/pypi/pip#downloads  下载安装包 pip-9.0.1.tar.gz 2 解压 pip-9.0.1.tar.gz 3 用CMD ...

  8. MVC 中Simditor上传本地图片

    1.引用样式和js文件 <link href="~/Content/scripts/plugins/simditor/css/simditor.css" rel=" ...

  9. Spring 事物机制总结

    Spring两种事物处理机制,一是声明式事务,二是编程式事务 声明式事物 1)Spring的声明式事务管理在底层是建立在AOP的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加 ...

  10. input 输入框只能输入纯数字

    1.onkeyup = "value=value.replace(/[^\d]/g,'')" 使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回 ...