Python数据类型
本篇笔记的主要内容是:Python数据类型,包括列表、字典、集合、数值、字符串、元组。
主要有6种,其中3种是可变类型(列表、字典、集合),另外3种为非可变类型(数值、字符串、元组)
tips:列表和元组很相似,但有两个不同点。第一点是元组使用小括号,而列表使用方括号;第二点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。
- 列表:各项之间用逗号分隔,元素类型可以不同,使用
[]
进行表示,索引从0开始。
- list.append():添加元素
- list.count():检查某元素出现的次数
- * :重复列表
- in:检查元素是否存在于列表
- list(a):将元组a转换成列表
list = [1, 2, 3, 4, 5, 6, 7 ] print(list[2]) 3 list.append('a') print(list) [1, 2, 3, 4, 5, 6, 7, 'a']
易错点提示:
- 列表增加元素:是
.
不是空格
,append后的括号⾥只能接受⼀个参数- 不能赋值:a=list.append(3),此时a为None
- 列表推导式,由一对方括号所包含的以下内容:一个表达式,后面跟一个
for
子句,然后是零个或多个for
或if
子句。其结果将是一个新列表,由对表达式依据后面的for
和if
子句的内容进行求值计算而得出
- 元组:和列表类似,使用
()
进行表示,不可修改,但是可以进行连接。
- tuple(a):将列表a转换成元组
- + :连接两个元组
tup1 = "a", "b", "c", "d" tup2 = (1, 2, 3, 4, 5 ) len(tup1) Out[6]: 4 2in tup2 Out[7]: True print(tup1 + tup2) ('a', 'b', 'c', 'd', 1, 2, 3, 4, 5)
易错点提示:
- 元组时只读列表,可查询不可修改,常用于存储不想修改的数据
- 只含有一个元素,在元素后面加上逗号,否则会被识别为其他数据类型
- 切片操作:[start : end : sep] ,即为[开始索引:终点索引:步长],注意右边取不到
- 字典:可变容器,由成对的key键和value值组成,和电话薄类似,查询速度很快。
- 键与值使用
:
分隔 - 子项之间使用
,
分隔 - 同一字典中,不允许键名称重复
- 同一个键被多次赋值,新值覆盖旧值
- 键不可变,不能使用列表充当键
listdemo = ['jewin','bio', 'note',"yes"] newdict = {key:len(key) for key in listdemo} # 创建新字典,值为键的长度 print(newdict) {'jewin': 5, 'bio': 3, 'note': 4, 'yes': 3}
易错点提示:
- 用 get 获取字典中的值,可以使用 get 方法来代替
if ... else
,通常在 key 不存在的情况下会报 KeyError 错误,而这种get方法可以避免。- setdefault方法为字典设置缺省值,如果 key 存在于字典中,那么直接返回对应的值,等效于 get 方法。如果 key 不存在字典中,则会用 setdefault 中的第二个参数作为该 key 的值,再返回该值。
- 使用 iteritems 迭代字典中的元素,items 方法返回的是(key ,value)组成的列表对象,这种方式的弊端是迭代超大字典时内存会瞬间扩大,更好的方式是使用 iteritems,具有惰性加载的特性
- 字典没有偏移量,所以在提取元素时,中括号中应该写键的名称,即
字典名[字典的键]
。提取出来的是key对应的value,⽽不会显示键的数据- 新增元素格式:
字典名[键] = 值
。每次只能新增⼀个键值对。删除元素格式:del 字典名[键]
- 字符串:使用引号 ( ' 或 " ) 来创建,使用方括号来截取字符串
- 前索引从0开始
- 后索引从最后一位-1开始
- 截取字符串遵循左闭右开原则
- in:成员运算符
转义字符 | 描述 |
\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
f-string:格式化字符串(Python3.6 之后版本添加)
a = "sadasdfa12342143fdadfa" print(f'hello {a}') hello sadasdfa12342143fdadfa
- 集合:无序的不重复元素序列,使用大括号 { } 或者 set() 函数创建。
- 自动去除重复
- 可以进行交并补运算
- set.add:添加元素
- set.remove:移除元素
- set.pop:随机取出一个元素
a = set('abraewrcadaghdbra') b = set('alfsacazafsdfm') print(a-b) #差集 print(a&b) #交集 print(a|b) #并集 print(a^b) #没有同时存在的元素 {'e', 'r', 'w', 'b', 'h', 'g'} {'a', 'd', 'c'} {'e', 'l', 'm', 'r', 'w', 'f', 'z', 'a', 'b', 's', 'c', 'd', 'h', 'g'} {'e', 'l', 'm', 'r', 'w', 'f', 'z', 'b', 's', 'h', 'g'}
- 数字:不允许改变,改变后重新分配内存空间
- 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示
2-1 Out[23]: 1 2-1.0 Out[24]: 1.0 2.0-1 Out[25]: 1.0 # 浮点运算可能结果会有误差 2-1.9 Out[26]: 0.10000000000000009 0.3-0.1 Out[27]: 0.19999999999999998
易错点提示:
- 穿上单引号、双引号、三引号黄袍的内容就是字符串,无论引号里面内容是中文、英文、法文、数字、符号、甚至是火星文
- 字符串,就是由一个个字符连接起来的组合,你平时所见的字母、数字、汉字、符号都是字符。字符串可以用来表示词、语句、甚至是数学公式。
- 整数, 英文为 integer, 简称 int。Python 江湖的整数和我们现实数学中定义的一样:整数是正整数、零和负整数的统称。说白了,就是没有小数点的数字。
- 浮点数,英文称为 float。浮点数虽说比整数多一个小数点,但是它存在一个 bug。因为浮点数的特点,导致它在计算机内运算时,结果不是那么精确,会有四舍五入的差,Python 在计算浮点数时,会有相应的转换机制,所以最终的小数精度会缺失。
- 只有字符串与字符串才能拼接
- 数据类型的查询
type()
函数- 数据转换的方法有3个:
str() ,int(),float()
- 浮点形式的字符串也不能使用 int()强制转换,但是浮点数是可以使用 int()函数来转换
- float()函数可以将整数和字符串转换成浮点数类型,但前提是,这个字符串中的内容一定是数字形式
© 素材来源于网络,侵权请联系后台删除
往期推荐: