8.1 字符串是一个序列(A string is a sequence)

字符串是一个字符序列。可以使用中括号运算符 [] 一次从字符串中读取一个字符,中括号中的表达式称为索引(index),用于指示序列中你想要字符的位置。值得注意的是,索引指的是从字符串起始位置开始的偏移(offset),因此第一字母的偏移为 0。

8.2 len

len 是 Python 中的内建函数,返回字符串中字符的数目。

>>> fruit = 'banana'
>>> len(fruit)
6

对于字符串,Python 也提供了负向的索引,方便从字符串的末尾开始计数。

>>> fruit = 'banana'
>>> last = fruit[-1]
>>> last
'a'

8.3 用一个 for 循环进行遍历(Traversal with a for loop)

在 Python 中,可以使用 while 语句和 for 循环对字符串进行遍历。

# while statement
fruit = 'banana'
i = 0
while i < len(fruit):
print(fruit[i])
i = i + 1 # for loop
fruit = 'banana'
for letter in fruit:
print(letter)

8.4 字符串切片(String slices)

字符串的一个片段(segment)称为一个切片(slice)。运算符 [n:m] 返回字符串从第 n 个字符到第 m 个字符的部分,但是只包括起始索引 n,不包括结束索引 m

如果省略第一个索引,切片将从字符串的起始位置开始;如果省略第二个索引,切片将一直到字符串的结束位置。

>>> fruit = 'banana'
>>> fruit[:3]
'ban'
>>> fruit[3:]
'ana'

如果第一索引的值大于等于第二个,那么结果将是空字符串(empty string)。

>>> fruit = 'banana'
>>> fruit[3:3]
''

如果第一个索引和第二个索引都省略,那么将返回该字符串。

>>> fruit = 'banana'
>>> fruit[:]
'banana'

8.5 字符串是不可变的(Strings are immutable)

字符串是不可变的(immutable),意味着我们无法改变一个已经存在的字符串。“改变”一个字符串的方式只能是从新生成一个字符串。

8.6 搜索(Searching)

8.7 循环和计数(Looping and counting)

8.8 字符串方法(String methods)

字符串类型( str 类)提供了许多有用的方法,通过点运算符 . 进行调用,常用的方法有:

  • upper()lower()
  • find(...)

8.9 in 运算符(The in operator)

in 运算符是一种布尔运算符,输入两个字符串,当第一个字符串是第二个字符串的字串时,返回 True

>>> 'a' in 'banana'
True

8.10 字符串比较(String comparison)

关系运算符(><==)在字符串上也是起作用的。与 Java 中不同,Python 用 == 比较两个字符串是否相等。

>>> 'abc' == 'banana'
False
>>> 'abc' == 'abc'
True

关系运算符(><)能够用于对字符串按照字母顺序进行排序。

>>> 'abc' < 'banana'
True
>>> 'cat' > 'banana'
True

需要注意的是,在 Python 中,所有的大写字母顺序都是排在小写字母前面的

>>> 'Pipeapple' > 'banana'
False

因此,在进行字符串比较前,最好将所有的字符串转换成标准的格式,比如:小写。

8.11 调试(Debugging)

《Think Python》第8章学习笔记的更多相关文章

  1. 利用Python进行数据分析 第4章 IPython的安装与使用简述

    本篇开始,结合前面所学的Python基础,开始进行实战学习.学习书目为<利用Python进行数据分析>韦斯-麦金尼 著. 之前跳过本书的前述基础部分(因为跟之前所学的<Python基 ...

  2. 利用python进行数据分析--(阅读笔记一)

    以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分 ...

  3. 利用Python进行数据分析 第7章 数据清洗和准备(2)

    7.3 字符串操作 pandas加强了Python的字符串和文本处理功能,使得能够对整组数据应用字符串表达式和正则表达式,且能够处理烦人的缺失数据. 7.3.1 字符串对象方法 对于许多字符串处理和脚 ...

  4. 利用Python进行数据分析 第6章 数据加载、存储与文件格式(2)

    6.2 二进制数据格式 实现数据的高效二进制格式存储最简单的办法之一,是使用Python内置的pickle序列化. pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle ...

  5. 利用Python进行数据分析 第4章 NumPy基础-数组与向量化计算(3)

    4.2 通用函数:快速的元素级数组函数 通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数. 1)一元(unary)ufunc,如,sqrt和exp函数 2)二元(unary) ...

  6. 利用Python进行数据分析 第8章 数据规整:聚合、合并和重塑.md

    学习时间:2019/11/03 周日晚上23点半开始,计划1110学完 学习目标:Page218-249,共32页:目标6天学完(按每页20min.每天1小时/每天3页,需10天) 实际反馈:实际XX ...

  7. 利用Python进行数据分析 第7章 数据清洗和准备(1)

    学习时间:2019/10/25 周五晚上22点半开始. 学习目标:Page188-Page217,共30页,目标6天学完,每天5页,预期1029学完. 实际反馈:集中学习1.5小时,学习6页:集中学习 ...

  8. 利用Python进行数据分析 第5章 pandas入门(2)

    5.2 基本功能 (1)重新索引 - 方法reindex 方法reindex是pandas对象地一个重要方法,其作用是:创建一个新对象,它地数据符合新地索引. 如,对下面的Series数据按新索引进行 ...

  9. 利用Python进行数据分析 第5章 pandas入门(1)

    pandas库,含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具.pandas是基于NumPy数组构建. pandas常结合数值计算工具NumPy和SciPy.分析库statsmodels和 ...

  10. 《Python自然语言处理》第二章 学习笔记

    import nltk from nltk.book import * nltk.corpus.gutenberg.fileids() emma = nltk.corpus.gutenberg.wor ...

随机推荐

  1. TSQL--使用CTE完成递归查询

    CREATE TABLE TB001( CategoryId INT PRIMARY KEY, ParentCategoryId INT, CategoryName NVARCHAR(200))GO ...

  2. win server 2012 R2 你需要先安装 对应于 KB2919355 的更新

    产生阻滞的问题: 你需要先安装 对应于 KB2919355 的更新 ,然后才可在 Windows 8.1 或 Windows Server 2012 R2 上安装此产品. 官方说法(这些 KB 必须按 ...

  3. JPA_映射双向多对多的关联关系(转)

    双向多对多的关联关系 转自(http://www.cnblogs.com/lj95801/p/5011537.html) 双向多对多的关联关系(抽象成A-B)具体体现:A中有B的集合的引用,同时B中也 ...

  4. 如何建立git 远程仓库

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...

  5. Python(模块&包)

    参考:https://www.cnblogs.com/yuanchenqi/articles/5732581.html 在linux下给pycharm安装第三方库,需要在.bashrc中加: 因为对应 ...

  6. 《快学Scala》第六章 对象 第七章 包和引入

  7. rpm -ivh 这个ivh是干什么的

    安装的时候显示安装进度 --从百度知道复制过来的 RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了.这种软件安装包通常是一个RPM包(Redhat Linux Packet Ma ...

  8. Modbus通用数据读取工具设计及使用

    一.公共功能码定义 二.能读取的数据类型 1.bit类型,比如01功能码,读到的就是位的状态,是ON 还是OFF,也就是对应着0或1. 2.byte类型,比如03功能码. 3.short类型,比如03 ...

  9. 符合Python风格的对象

    array和bytes的转换 - 每个array必须有一个type_code,以此为依据解析底层字节序列 - array有一个frombytes方法,可以把字节序列按type_code转换成Array ...

  10. javascriptdocument load 和document ready的区别

    页面加载完成有两种事件,一是ready , 表示文档结构已经加载完成(貋图片等非文字媒体文件),二是onload 指示页面包含图片等文件在内的所有元素都加载完成.   1.执行时间不同: 从字面的意思 ...