02-Python数据内容学习

Python数据内容学习

python定义变量的过程中不需要声明变量的类型,直接给变量赋值,赋值之后变量才会被创建。

python中又六个基本数据类型:数字、字符串、列表、元组、集合、字典。

数字

数字很明显得就是int、float,bool类型的是0或者1、深层次的复数

加减乘除就不必多说了,其中整数的除法要单独说一下

整数的除法有两种方式:

  • 直接除 10/3 除法的结果是浮点数
  • 地板除 10//3 结果是一个整数

字符串

字符串是用单引号或者双引号括起来的,同时在其中可以使用 \ 表示某些特殊字符。

如果不想让反斜杠发生转义,可以在字符串前面添加一个R,表示这是原始字符串。

… 或者 \ 都可以让字符串多行表示

字符串可以使用 + 进行连接,或者 * 运算符进行重复

字符串的索引:1、从左到右可以是0-n-1. 2、从右到左依次从-1减少

一个字符就是长度为1的字符串。

可以对字符串进行切片,获取一段子串。用冒号分隔就好【头下标:尾下标】,截取的范围是前闭后开的,并且两个索引都可以省略的。

注意:

字符串是不可变变量,所以不能以索引的方式向字符串赋值,也就是改变字符串的值。

列表

符号:[ ]、元素之间用逗号分隔、元素的类型可以不相同

与字符串相同,列表可以被索引和切片

列表支持串联操作,用 + 号实现

列表中的元素是可以改变的

其中list内置了有很多方法,例如append( )、pop( )等等

元组

符号:( )、与列表类似,不同之处在于元组的元素不能修改、内容写在括号里,用到逗号隔开、元素的类型也可以不同。

可以被索引且索引下标从0开始,也可以进行切片

元组的不可修改是指指向性不可以修改,但是内部元素可以包含一个可以修改的元素比如元组中第二个元素是列表,元组第二个存储的是了列表的地址,这个是不会变化,但是列表里面的内容是可以变化,这并不影响元组的特性。

由于元组是不可以修改的,所以构造0个或者1个元素的元组是个特殊的问题,在这里当表示0个元素的元组是空,表示一个元素的元组是需要在元素后面加个逗号即可:

tup1 ``=` `() ``# 空元组
tup2 ``=` `(``20``,) ``# 一个元素,需要在元素后添加逗号

另外、元组也支持 + 操作符

集合

符号:{ }、无须不重复元素的集(类比于数学上的集合)

用于消除重复元素和成员关系测试

可以用{ }或者set( )函数创建set集合,注意创建一个空集合必须用set而不用{ },因为{ }是用来创建一个空字典。

>>> student ``=` `{``'Tom'``, ``'Jim'``, ``'Mary'``, ``'Tom'``, ``'Jack'``, ``'Rose'``}
>>> ``print``(student)  ``# 重复的元素被自动去掉
{``'Jim'``, ``'Jack'``, ``'Mary'``, ``'Tom'``, ``'Rose'``}
>>> ``'Rose'` `in` `student ``# membership testing(成员测试)
True
>>> ``# set可以进行集合运算
...
>>> a ``=` `set``(``'abracadabra'``)
>>> b ``=` `set``(``'alacazam'``)
>>> a
{``'a'``, ``'b'``, ``'c'``, ``'d'``, ``'r'``}
>>> a ``-` `b   ``# a和b的差集
{``'b'``, ``'d'``, ``'r'``}
>>> a | b   ``# a和b的并集
{``'l'``, ``'m'``, ``'a'``, ``'b'``, ``'c'``, ``'d'``, ``'z'``, ``'r'``}
>>> a & b   ``# a和b的交集
{``'a'``, ``'c'``}
>>> a ^ b   ``# a和b中不同时存在的元素
{``'l'``, ``'m'``, ``'b'``, ``'d'``, ``'z'``, ``'r'``}

字典

符号:{ : }、映射类型、无序的键:值对的集合。

关键字必须使用不可变类型,也就是说list和包含可变类型的tuple不能做关键字。

在一个字典里,关键字还必须互不相同。

>>> dic ``=` `{} ``# 创建空字典
>>> tel ``=` `{``'Jack'``:``1557``, ``'Tom'``:``1320``, ``'Rose'``:``1886``}
>>> tel
{``'Tom'``: ``1320``, ``'Jack'``: ``1557``, ``'Rose'``: ``1886``}
>>> tel[``'Jack'``]  ``# 主要的操作:通过key查询
1557
>>> ``del` `tel[``'Rose'``] ``# 删除一个键值对
>>> tel[``'Mary'``] ``=` `4127` `# 添加一个键值对
>>> tel
{``'Tom'``: ``1320``, ``'Jack'``: ``1557``, ``'Mary'``: ``4127``}
>>> ``list``(tel.keys()) ``# 返回所有key组成的list
[``'Tom'``, ``'Jack'``, ``'Mary'``]
>>> ``sorted``(tel.keys()) ``# 按key排序
[``'Jack'``, ``'Mary'``, ``'Tom'``]
>>> ``'Tom'` `in` `tel    ``# 成员测试
True
>>> ``'Mary'` `not` `in` `tel ``# 成员测试
False

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。

构造函数 dict() 直接从键值对sequence中构建字典,当然也可以进行推导,如下:

>>> ``dict``([(``'sape'``, ``4139``), (``'guido'``, ``4127``), (``'jack'``, ``4098``)])``{``'jack'``: ``4098``, ``'sape'``: ``4139``, ``'guido'``: ``4127``}` `>>> {x: x``*``*``2` `for` `x ``in` `(``2``, ``4``, ``6``)}``{``2``: ``4``, ``4``: ``16``, ``6``: ``36``}` `>>> ``dict``(sape``=``4139``, guido``=``4127``, jack``=``4098``)``{``'jack'``: ``4098``, ``'sape'``: ``4139``, ``'guido'``: ``4127``}

学习小结

python中最基础的就是这些数据类型,之前对于数据类型的认识太浅显,这次再次学习对于数据类型的有个更加清醒的认识,知道了不可变和可变的含义,但是对于内置的函数还需要进一步的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值