Python字符串与字典核心操作实战指南

小岛来信
小岛来信
发布时间:2026-10-14 | 3人浏览过
原创

本文详细解析Python中字符串与字典的核心操作。涵盖字符串的%格式化、模板字符串及find、join、split等常用方法;深入讲解字典的构造、增删改查、copy、get、update等API使用。通过具体代码示例,帮助开发者掌握Python数据处理基础技能,提升编程效率。

本文旨在通过具体实例,深入解析Python语言中字符串和字典这两类常用数据结构的各项操作技巧。

Python字符串操作详解

首先介绍字符串的基本处理方式。

在Python中,%运算符可用于实现字符串的格式化替换,其语法类似于C语言中的printf风格。


str = "Hello,%s.%s enough for ya ?"
values = ('world','hot')
print str % values

执行上述格式化操作后,控制台将输出替换后的完整字符串。


 Hello,world.hot enough for ya ?

除了%运算符,Python还提供了Template类作为另一种字符串模板化方案,适用于更复杂的替换场景。


#coding=utf-8
from string import Template
## 单个变量替换
s1 = Template('$x, glorious $x!')
print s1.substitute(x = 'slurm')

## 美元符号表示以及单个变量的替换
s2 = Template("Make $$ selling $x!")
print s2.substitute(x = 'slurm')

## 字段变量的替换
s3 = Template('A $thing must never $action .')
d = {}
d['thing'] = 'gentleman'
d['action'] = 'show his socks'
print s3.substitute(d)

ps:safe_substitute 不会因缺少值或者不正确使用$字符而出错。

理解字符串格式化的类型标识符是正确使用%操作的关键。

具体规则如下: (1) %符号用于标识转换说明符的起始位置,标志着替换操作的开始。 (2) 负号(-)表示左对齐输出,加号(+)表示在数值前显示正负号;数字0表示当转换值位数不足时,使用0进行填充。 (3) 星号(*)可用于动态指定最小字段宽度。 (4) 小数点(.)后跟随的数字表示精度值,用于控制输出字符数或小数位数。

除了格式化操作,Python字符串内置了大量实用方法。

(1)find方法:用于在较长字符串中搜索子字符串,并返回子串出现的最左侧索引位置。若未找到匹配项,则返回-1。


print 'With a moo-moo here, and a moo-moo there'.find('moo')
返回:7

(2)join方法:用于将可迭代对象中的字符串元素拼接成一个新字符串,分隔符为调用该方法的字符串。


print '/'.join((' ','usr','bin','env'))
输出: /usr/bin/env
ps:和谷歌的guava有点像。

(3)lower方法:返回将原字符串中所有大写字母转换为小写后的新字符串。


print 'AK47'.lower()
输出:ak47

(4)replace方法:返回一个新字符串,其中原字符串中所有匹配的子串均被替换为指定字符串。


'This is a test'.replace('is','ezz')
输出:Thezz ezz a test

(5)split方法:作为join方法的逆操作,用于将字符串按照指定分隔符切割成列表序列。


print '1+2+3+4+5'.split('+')
输出:['1', '2', '3', '4', '5']

(6)strip方法:用于去除字符串首尾指定的字符,默认去除空格。也可指定其他字符进行去除。


ps:另外可以参加lstrip和rstrip方法。

(7)translate方法:与replace类似,用于替换字符串中的部分字符,但translate仅处理单个字符。其优势在于可以一次性执行多个字符替换,在某些场景下效率高于replace。


ps:maketrans方法和translate方法类似。

Python字典基本操作指南

接下来介绍字典(Dictionary)的基本操作,字典是Python中重要的键值对数据结构。

(1) dict函数:用于创建或构造字典对象,支持多种初始化方式。


dict(name='Gumby',age=42)
dict([('name','Gumby'),('age',42)])
ps:都是构造字段的方法。

(2) 字典的基本操作包括以下五种常见用法:

1. len(d):返回字典d中包含的键值对数量。 2. d[k]:通过键k访问并返回关联的值。 3. d[k]=v:将值v关联到键k上,若键已存在则更新值。 4. del d[k]:删除字典中键为k的项。 5. k in d:检查字典d中是否包含键k,返回布尔值。

(3) copy方法:返回一个与原字典具有相同键值对的新字典,注意这是浅拷贝。

(4) fromkeys方法:使用给定的键序列创建一个新的字典,所有键对应的默认值为None。


print {}.fromkeys(['name','age'])
输出:{'age': None, 'name': None}

(5) get方法:提供了一种更安全的字典项访问方式,当键不存在时不会抛出异常,而是返回None或指定的默认值。


d = {}
d['name'] 如此访问时会报错。
d.get('name')访问时,如果不存在会返回None。

(6) has_key方法:用于检查字典中是否包含指定的键。注意:在较新版本的Python中,d.has_key(k)已被弃用,推荐使用k in d进行判断。

(7) items和iteritems方法:items返回包含所有键值对的列表,iteritems返回对应的迭代器。


items方法会将字典按照键值元组列表的形式返回,但没有顺序。
iteritems和items类似,但是返回的是迭代器。

(8) keys和iterkeys方法:与items类似,但仅返回字典中所有键的列表或迭代器。

(9) values方法:以列表形式返回字典中所有的值。与keys或iterkeys不同,返回的值列表中可能包含重复值。

(10) update方法:允许使用另一个字典的内容来更新当前字典,若键存在则覆盖,若不存在则添加。

如果在阅读过程中有任何疑问,欢迎在评论区留言或在本站社区进行交流讨论。感谢大家的阅读,希望本文能对大家有所帮助,谢谢支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表