python入门系列四(数据类型)

1.引言

python是动态类型语言,也是强类型语言。经过基础知识部分内容我们已经熟悉了一些基础数据类型,比如字符串,比如数字(整数,浮点数),比如布尔。更多内置类型,你可以参考:docs.python.org/zh-cn/3.11/...

本篇文章,我们聚焦在序列类型(列表,元组),集合类型(set)以及映射类型(dict)上。

2.数据类型

2.1.序列类型

2.1.1.列表list

  • 列表定义

    python中列表可以存放一系列对象,比如数字,字符串,子列表。语义上它强调一种并列关系,语法定义上通过中括号"[]"完成定义。

  • 列表常见操作

python 复制代码
# 定义列表
list_1 = [1,2,3,4,5]
list_2 = ["abc",123]
list_3 = [1,2,[3,4,5]]

# 访问列表元素
print(list_1[0])
print(list_1[1])

# 删除列表元素,删除列表
del list_1[0]
del list_1


# 列表内置函数
## 添加元素
list.insert(索引,元素): 在索引位置插入元素
list.append(元素) :在列表末尾添加元素
list.extend(可迭代对象*): 为列表扩展元素

## 修改元素
list.remove(元素) :移除列表元素
list.reverse():反转列表元素顺序
list.copy():复制列表
list.clear():清空列表
list.pop(索引):移除索引对应的元素,并返回该元素,特别不指定索引表示移除最后一个元素

## 计算列表长度
len(list):得到列表长度
list.count(元素):元素在列表中出现的次数

## 列表排序
list.sort(reverse=True):列表原地排序
sort(list):列表排序后返回新的列表

2.1.2.元组tuple

  • 元组定义

    python中元组可以存放一系列对象,比如数字,字符串,子元组。语义上它强调一种并列关系,语法定义上通过圆括号"()"完成定义。需要注意:元组不可变特性,即一旦定义完成,不能在更改元组中的元素

  • 元组常见操作

python 复制代码
# 定义元组
tuple_1 = (1,"app",3.14)

# 访问元组
print(type(tuple_1))
print(tuple_1[0])

# 列表和元组之间转换
 ## 将列表转换为元组
list_1 = [1, 2, 3]
tuple_2 = tuple(list_1) 
print(type(tuple_2))
 
 ## 直接创建一个新的元组
list_3 = list(tuple_1) 
print(type(list_3))

#删除元组
del tuple_2

2.1.3.通用序列操作

在python中,列表,元组都属于序列类型,关于序列有一些通用的操作,图示:

2.2.集合类型

2.2.2.集合set

  • 集合定义

在python中,集合 set 对象是由具有唯一性的 对象所组成的无序多项集,注意这里的两个关键词:唯一,无序集合的唯一性常见的用途包括成员检测从序列中去除重复项以及数学中的集合类计算:交集、并集、差集 。

python内置两种集合,可变集合set,和不可变集合frozenset。

  • 集合常见操作
python 复制代码
#集合定义
my_set = {1, 2, 3}
print(my_set)

#添加元素
my_set.add(4)
print(my_set) 

#删除元素
my_set.remove(2) 
print(my_set)

#检查元素是否存在
print(1 in my_set)  # 输出: True
print(4 in my_set)  # 输出: False

#集合操作
## 并集
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)  # 使用 | 输出: {1, 2, 3, 4, 5}
print(set1.union(set2))  # 使用 union() 方法输出: {1, 2, 3, 4, 5}

## 交集
print(set1 & set2)  # 使用 & 输出: {2, 3}
print(set1.intersection(set2))  # 使用 intersection() 方法输出: {2, 3}

## 差集
print(set1 - set2)  # 使用 - 输出: {1} (在 set1 中但不在 set2 中的元素)
print(set1.difference(set2))  # 使用 difference() 方法输出: {1} (在 set1 中但不在 set2 中的元素)

2.3.映射类型

2.3.1.字典dict

  • 字典定义

    在python中,字典类型数据表达的是一种映射关系,即它的组成由key/value键值对形成一个元素。定义的时候使用花括号来进行语法表达。需要注意键不能重复,即不能哈希的类型不可以作为键来使用,比如刚学过的列表,字典等不可作为键来使用。

  • 字典常见操作

python 复制代码
#定义字典
dict_1 = {'a':1,'b':2}
dict_2 = dict(a=1,b=2)
dict_3 = {x:x**2 for x in range(8)}

#访问字典内容
dict_content = dict_1.items()
dict_keys = dict_1.keys()
dict_values = dict_1.values()

print(dict_1['a'])
print(dict_1.get('b'))
print(dict_content)
print(dict_keys)
print(dict_values)

#删除字典元素
del dict_1['a']

#删除字典
del dict_1

3.常用数据类型汇总

python 复制代码
#常用数据类型
常量:None
布尔类型逻辑值:True,False
字符串:str
数字:int,float
序列:list,tuple,range
集合:set,fronzeset
映射:dict
相关推荐
WeiLai11123 分钟前
面试基础---Spring Cloud微服务负载均衡架构
spring boot·分布式·后端·spring·spring cloud·面试·架构
修昔底德14 分钟前
费曼学习法12 - 告别 Excel!用 Python Pandas 开启数据分析高效之路 (Pandas 入门篇)
人工智能·python·学习·excel·pandas
网络风云23 分钟前
Django 5实用指南(十二)异步处理与Celery集成
后端·python·django
蹦蹦跳跳真可爱58923 分钟前
Python----线性代数(线性代数基础:标量,向量,矩阵,张量)
python·线性代数·矩阵
土豆炒马铃薯。1 小时前
【Java 基础(人话版)】Java 虚拟机(JVM)
java·开发语言·jvm·后端·java基础·虚拟机
caihuayuan51 小时前
Golang的图形用户界面设计
java·大数据·spring boot·后端·课程设计
程序员徐师兄1 小时前
基于Python Django的人脸识别上课考勤系统(附源码,部署)
开发语言·python·django·人脸识别考勤·人脸识别上课考勤系统
Pandaconda1 小时前
【新人系列】Golang 入门(二):基本数据类型
开发语言·笔记·后端·golang·go·字符串·数据类型
Wangawf2 小时前
python小游戏-坦克大战
开发语言·python·pygame
是十一月末2 小时前
计算机视觉之dlib人脸关键点绘制及微笑测试
人工智能·python·计算机视觉·视觉检测·dlib