Python学习笔记丨数据类型基础与易错点总结,列表、字典、集合、数值、字符串、元组

简介: 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']

易错点提示:

  1. 列表增加元素:是.不是空格,append后的括号⾥只能接受⼀个参数
  2. 不能赋值:a=list.append(3),此时a为None
  3. 列表推导式,由一对方括号所包含的以下内容:一个表达式,后面跟一个 for 子句,然后是零个或多个 forif 子句。其结果将是一个新列表,由对表达式依据后面的 forif 子句的内容进行求值计算而得出
  • 元组:和列表类似,使用()进行表示,不可修改,但是可以进行连接。
  • 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)

易错点提示:

  1. 元组时只读列表,可查询不可修改,常用于存储不想修改的数据
  2. 只含有一个元素,在元素后面加上逗号,否则会被识别为其他数据类型
  3. 切片操作:[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}

易错点提示:

  1. 用 get 获取字典中的值,可以使用 get 方法来代替 if ... else,通常在 key 不存在的情况下会报 KeyError 错误,而这种get方法可以避免。
  2. setdefault方法为字典设置缺省值,如果 key 存在于字典中,那么直接返回对应的值,等效于 get 方法。如果 key 不存在字典中,则会用 setdefault 中的第二个参数作为该 key 的值,再返回该值。
  3. 使用 iteritems 迭代字典中的元素,items 方法返回的是(key ,value)组成的列表对象,这种方式的弊端是迭代超大字典时内存会瞬间扩大,更好的方式是使用 iteritems,具有惰性加载的特性
  4. 字典没有偏移量,所以在提取元素时,中括号中应该写键的名称,即字典名[字典的键]。提取出来的是key对应的value,⽽不会显示键的数据
  5. 新增元素格式:字典名[键] = 值。每次只能新增⼀个键值对。删除元素格式: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

易错点提示:

  1. 穿上单引号、双引号、三引号黄袍的内容就是字符串,无论引号里面内容是中文、英文、法文、数字、符号、甚至是火星文
  2. 字符串,就是由一个个字符连接起来的组合,你平时所见的字母、数字、汉字、符号都是字符。字符串可以用来表示词、语句、甚至是数学公式。
  3. 整数, 英文为 integer, 简称 int。Python 江湖的整数和我们现实数学中定义的一样:整数是正整数、零和负整数的统称。说白了,就是没有小数点的数字。
  4. 浮点数,英文称为 float。浮点数虽说比整数多一个小数点,但是它存在一个 bug。因为浮点数的特点,导致它在计算机内运算时,结果不是那么精确,会有四舍五入的差,Python 在计算浮点数时,会有相应的转换机制,所以最终的小数精度会缺失。
  5. 只有字符串与字符串才能拼接
  6. 数据类型的查询 type()函数
  7. 数据转换的方法有3个: str() ,int(),float()
  8. 浮点形式的字符串也不能使用 int()强制转换,但是浮点数是可以使用 int()函数来转换
  9. float()函数可以将整数和字符串转换成浮点数类型,但前提是,这个字符串中的内容一定是数字形式

© 素材来源于网络,侵权请联系后台删除

往期推荐:

文献丨群体转录组分析锁定关键转录因子

文献丨转录组RNA seq——青年阶段!

文献丨高通量表型组图像识别与GWAS

笔记丨ggplot2热图入门学习笔记

笔记丨PCA分析基本知识和数学原理

图书丨R语言、Python、Linux

超算丨数据分析时电脑配置不够用?试试

软件 | 如何进行基因家族分析?TBtools

服务器丨家用联想台式机重装Linux系统

转录组丨一套完整的操作流程案例

相关文章
|
22天前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
2月前
|
索引 Python
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
|
3月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
46 0
|
4月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
85 5
|
4月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
119 7
|
1月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
19天前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
74 28
|
1月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
1月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
37 4
|
1月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。