Python中的数据类型操作
wptr33 2025-08-05 21:49 2 浏览
Python中的数据类型操作,涵盖了字符串、列表、元组、字典、集合、数字类型、布尔值、NoneType、日期、类型转换等日常开发中最常用的数据类型:
- 字符串 (str)
- 大小写转换:str.upper(), str.lower(), str.title()
- 空白处理:str.strip(), str.lstrip(), str.rstrip()
- 查找与替换:str.replace('a', 'b'), str.find('sub'), str.count('a')
- 分割与拼接:str.split(','), ','.join(list)
- 首尾判断:str.startswith('a'), str.endswith('z')
- 格式化:f"Hello {name}" (f-string)
- 列表 (list)
- 增:lst.append(x), lst.extend([1](@ref)[2](@ref), lst.insert(1, 'x')
- 删:lst.pop(), lst.pop(0), lst.remove(x)
- 排序与反转:lst.sort(), lst.sort(reverse=True), sorted(lst), lst.reverse()
- 推导式:[x for x in lst if x > 0]
- 去重:list(set(lst))
- 元组 (tuple)
- 创建注意: 单元素元组需加逗号 t = (1,)
- 转换:tuple(lst) (列表转元组)
- 拆包:a, b = (1, 2)
- 遍历:for i, val in enumerate(tpl) (带索引)
- 查询:tpl.count(1), tpl.index(1)
- 字典 (dict)
- 安全访问:dict.get('key', 'default'), dict.setdefault(k, v)
- 更新:dict.update({'k': v})
- 遍历:dict.items() (键值对), dict.keys(), dict.values()
- 推导式:{k: v for k, v in dict.items() if v > 0}
- 删除:del dict['key']
- 初始化:dict.fromkeys(['a', 'b'], 0)
- 统计:Counter(lst) (需 from collections import Counter)
- JSON 互转:json.loads(), json.dumps() (需 import json)
- 数字类型 (int, float, complex)
- 数值运算:round(3.1415, 2), abs(-9), divmod(7, 3), pow(2, 3), math.sqrt(9) (需 import math)
- 随机数:random.randint(1,10) (需 import random)
- 特殊值:float('inf'), -float('inf') (无穷大)
- 类型检查:isinstance(x, int)
- 高精度:decimal.Decimal('0.1') (需 from decimal import Decimal)
- 进制转换:bin(10), oct(10), hex(10)
- 布尔类型 (bool)
- 真值判断:bool([]), bool('') (空对象为 False)
- 逻辑运算:all([True, True]), any([False, True]), not
- 条件表达式:x if cond else y (三元表达式)
- 断言:assert condition, "Error" (调试用)
- NoneType
- 检查:if x is None: (使用 is 而非 ==)
- 空值替代:x = y or 'default', x = y if y is not None else z
- 过滤:filter(None, iterable) (过滤掉 None 值)
- 字典检查:my_dict.get('key') is not None (区分 None 和 0/False)
- 集合 (set)
- 核心特性:set([1](@ref)[2](@ref)[2](@ref) (自动去重)
- 集合运算:a & b (交集), a | b (并集), a - b (差集), a ^ b (对称差)
- 关系判断:a.issubset(b), a.issuperset(b)
- 元素操作:set.add(x), set.remove(x), set.discard(x) (安全删除), set.pop() (随机弹出)
- 不可变集合:frozenset()
- 快速判重:len(set(x)) == len(x)
- 日期时间 (datetime)
- 获取时间:datetime.now(), date.today()
- 格式转换:datetime.strptime('2023-01-01', '%Y-%m-%d') (字符串转日期), datetime.strftime('%Y-%m-%d') (日期转字符串)
- 时间差:timedelta(days=7), (end - start).days (天数差)
- 时间戳:datetime.timestamp(), datetime.fromtimestamp()
- 修改字段:datetime.replace()
- 月信息:calendar.monthrange(2023, 2) (需 import calendar)
- 时区:pytz (需额外安装)
- 类型转换
- 基础转换:int('123'), float('3.14'), str(123), list('abc'), dict([('a', 1)]), tuple([1](@ref)[2](@ref)[3](@ref), set([1](@ref)[2](@ref)[3](@ref)
- 字符编码:ord('A'), chr(65)
- 字节处理:bytes('abc', 'utf-8'), .decode()
- 对象表示:repr(obj)
- 类型检查:isinstance(x, (list, tuple)) (可检查多种类型)
- 慎用:eval("1+2") (字符串转表达式,有安全风险)
- 其他实用工具
- 迭代增强:enumerate(lst) (带索引遍历), zip(lst1, lst2) (并行遍历)
- 函数式编程:map(str, lst) (映射), filter(lambda x: x>0, lst) (过滤), reduce(lambda x,y: x+y, lst) (聚合,需 from functools import reduce)
- 高级排序:sorted(lst, key=lambda x: x[1](@ref) (按自定义键排序)
- 默认字典:collections.defaultdict(list) (自动初始化值)
- 拷贝:copy.deepcopy(obj) (深拷贝)
- 安全取首元素:next(iter(lst))
- 切片对象:slice(1,5,2)
- 进阶玩法
- 命名元组:collections.namedtuple('Point', ['x', 'y'])
- 组合:itertools.combinations(lst, 2)
- 扁平化:itertools.chain.from_iterable() (处理多层列表)
- 堆操作:heapq.heappush(), heapq.heappop() (需 import heapq)
- 变量上下文:globals(), locals()
“无他,惟手熟尔”!有需要的用起来。
如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐!
------加入知识场与更多人一起学习------
https://wiki.ima.qq.com/knowledge-base-share?shareId=66042e013e5ccae8371b46359aa45b8714f435cc844ff0903e27a64e050b54b5
相关推荐
- python数据容器之列表、元组、字符串
-
数据容器分为5类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)list#字面量[元素1,元素2,元素3,……]...
- 深入理解 PYTHON 虚拟机:令人拍案叫绝的字节码设计
-
深入理解PYTHON虚拟机:令人拍案叫绝的字节码设计在本篇文章当中主要给大家介绍cpython虚拟机对于字节码的设计以及在调试过程当中一个比较重要的字段co_lnotab的设计原理!PYT...
- Python快速学习第一天!
-
第一天:Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言一、运行Python:1、在交互式环境下,直接输入Python进入Python编程环境[root@tanggao/]#...
- Java 程序员的第一套Python代码
-
选择的Web组件是Python里面的Django,这不一定是一个最佳的框架或者最快的框架,当时他应该算是一个最成熟的框架。...
- Python 中 必须掌握的 20 个核心函数及其含义,不允许你不会
-
以下是Python中必须掌握的20个核心函数及其含义...
- Python代码:按和值奇偶比对号码进行组合
-
Python代码:按和值奇偶比对号码进行组合不少朋友在选定号码以后,会按照一定的和值来组号,比如大乐透常见和值有626372737481108116等我们不用固定在一个数上,我们可以给定...
- 30天学会Python编程:16. Python常用标准库使用教程
-
16.1collections模块16.1.1高级数据结构16.1.2示例...
- Python强大的内置模块collections
-
1.模块说明collections是Python的一个内置模块,所谓内置模块的意思是指Python内部封装好的模块,无需安装即可直接使用。...
- Python自动化办公应用学习笔记31—全局变量和局部变量
-
一个Python程序中的变量包括两类:全局变量和局部变量。一、全局变量·...
- 精通Python可视化爬虫:Selenium实战全攻略
-
在数据驱动的时代,爬虫技术成为获取信息的强大武器。而Python作为编程界的“瑞士军刀”,搭配Selenium库,更是让我们在动态网页抓取领域如鱼得水。本文将带你深入探索PythonSelenium...
- Python中的数据类型操作
-
...
- Python教程(二十五):装饰器–函数的高级用法
-
今天您将学习什么...
- 玩转Python列表/字典:增删改查与高效遍历技巧
-
为什么列表和字典是Python的灵魂?你是否遇到过这样的场景?想存储学生成绩,用列表却发现查找某个学生的分数像大海捞针?用字典存储购物车商品,却不知道如何高效批量修改价格?遍历数据时,传统循环写得...
- Python列表操作
-
Python添加列表4分钟阅读在Python操作列表有各种方法。例如–简单地将一个列表的元素附加到...
- 充分利用Python多进程提高并发
-
在计算机编程中,我们经常需要同时执行多个任务。然而,传统的单线程方式无法充分利用计算机的多核处理器,导致程序的执行效率低下。Python中的多进程编程技术可以帮助我们解决这个问题,通过同时运行多个进程...
- 一周热门
-
-
因果推断Matching方式实现代码 因果推断模型
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
git pull命令使用实例 git pull--rebase
-
面试官:git pull是哪两个指令的组合?
-
git 执行pull错误如何撤销 git pull fail
-
git pull 和git fetch 命令分别有什么作用?二者有什么区别?
-
git fetch 和git pull 的异同 git中fetch和pull的区别
-
git pull 之后本地代码被覆盖 解决方案
-
还可以这样玩?Git基本原理及各种骚操作,涨知识了
-
git命令之pull git.pull
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)