
生信分析笔记
V1
2023/02/22阅读:13主题:自定义主题1
Python学习笔记丨数据类型基础知识总结与易错点分析
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
2 in 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()函数可以将整数和字符串转换成浮点数类型,但前提是,这个字符串中的内容一定是数字形式

作者介绍

生信分析笔记
V1
欢迎关注公众号:生信分析笔记