Python基础2字符串

String

字符串是Python中最常用的数据类型,可以用单引号和双引号创建字

符串,字符串是不可变的。

字符串的基本操作:Python内建序列包括(列表、元组、字符串、

Unicode字符串、buffer对象和xrange对象)他们的操作是通用的,

下面我们来介绍。

通用序列操作

索引:序列中的每个元素都分配一个数字,代表他在序列中的索引(位置),

从0开始。例如str='hello world' ;str[1]的值为e;在Python中索引更为灵活可以从左往右通过位置获取元素,

也可以从右往左获取元素(正负表示)。不过需要注意的是,最后一个元素的索引不是负0,正负0都表示第一个元素。

分片:索引是对单个元素进行访问,由于要扩大一次对元素的访问个数,因此添加了分片。通过对冒号相隔的两个索引来实现。

例如number=[1,2,3,4,5,6,7,8,9]

number[1:3]从索引1,取到索引3(不含3)的中间元素即,[2,3]

number[1:]从索引1开始,取到最后一个索引即,[2,3,4,5,6,7,8,9]

number[:5]从索引0开始,取到索引5(不含5)即,[1,2,3,4,5]

number[:]取得全部number,输出整个序列,可以用来复制序列索引可以从左往右也可以从右往左,因此分片也可以。但需要注意的是分片中最左边的索引比它右边的索引晚出现在序列中,结果就是一个空。例如number[-1:0],结果为空。先出现number[0],后出现number[-1]除了分片的开始和结束点外,还提供了另一个可添加的参数步长,默认是1。且步长必须不等于0。在步长为负数时要求开始的大于结束点。这样可以不连续的取出元素。

序列相加:类似数学运算的加法,将两个序列拼接,但是只是类型相同的序列才能通过加号序列连接操作。例如:str1=[1,2,3] str2=[4,5]

str1+str2结果为[1,2,3,4,5]

乘法:注意只有加法和算术运算类似,其它的都不相同。这里的乘法是指原来的序列被重复N次。例如:str=[1,2] str*2结果为[1,2,1,2]可以通过这个方法创建占N个空间的空列表,也就是快速初始化。

成员资格:Python中提供了in运算符,来检查一个值(字符或数字)是否在序列中,返回结果为True或False

注意:数字类型不能再字符串类型中通过in进行成员资格检查,这样会报错,而字符串类型可以在数字类型中通过in进行成员资格检查。

长度、最小值和最大值

len函数返回序列中所包含元素的数量,min函数和max函数分别返回元素中最大和最小值。

字符串格式化

字符串格式化符号开始-%,以下用例子说明

print('hello %s'%'world') 结果为hello world

%s部分称为转换说明符,标记了需要放置转化值的位置。通用术语占位符后面的%相当于要放入的字符。

字符串格式化元组,就是%后面为一个元组,前面的占位符个数和后面len(元组)相同

例如:print('%s,%s'%('hello','2017'))

上一个例子属于简单转换,下面来看看字段宽度和精度格式化

print('%.*s'%(5,'hello world')) 结果为hello

(.)后跟精度值;(*)可以作为字段宽度和精度数值从元组中读取

字符串方法

find()方法用于检测字符串中是否包含子字符串str。如果指定开始和结束范围,就检查是否包含在指定范围内。如果包含子字符串,就返回开始的索引值;否则返回-1.

语法为:find(待检测子串,开始=0,结束=len(字符串))

用法为可以find(str)

find(str,开始索引值)

find(str,开始索引值,结束索引值)

join()方法用于将序列中的元素以指定字符连接成一个新字符串。

语法为:str.join(要连接的元素序列)

这种方法可以用来拼凑路径。

lower()用于将字符串中所有大写字符转换为小写。

语法为str.lower()

upper()用于将字符串中所有小写字符转换为大写。

语法为str.upper()

swapcase()对于字符串的大小写字母进行转换,大写字符转换为小写,小写字符转换为大写。

以上三个方法都不需要参数。

replace()方法把字符串中的旧字符串替换成新字符串,还可以指定最大替换次数。

语法为str.replace(旧字符,新字符串[,最大替换次数])

split()方法通过指定分隔符对字符串进行切片,如果参数num有指定值,就只分隔num个子字符串。返回结果为分割后的字符串列表。

语法str.(分隔符[,分割次数])分隔符默认为空格

strip()方法用于移除字符串头尾指定的字符(默认为空格),返回结果为移除字符串头尾指定的字符所生成的新字符串。

语法strip([要移除的字符])

translate()方法根据参数table给出的表转换字符串的字符,将要过滤的字符放到delete表中。返回结果为翻译后的字符串

语法str.translate(翻译表[,要过滤的字符列表])翻译表通过maketrans方法转换。

intab = 'abc'

outtab = '123'

tran = st.maketrans(intab,outtab)#定义st,防止出错;构造翻译表

str='abcdef'#要转化的字符串

print(str.translate(tran))

本文来自企鹅号 - 数据分析员媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏章鱼的慢慢技术路

指针的使用

1023
来自专栏海天一树

小朋友学Python(11):变量类型

Python 定义了一些标准类型,用于存储各种类型的数据。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表)...

40314
来自专栏小樱的经验随笔

【Java学习笔记之六】java三种循环(for,while,do......while)的使用方法及区别

第一种:for循环  循环结构for语句的格式:         for(初始化表达式;条件表达式;循环后的操作表达式) {      循环体;     ...

2697
来自专栏蓝天

C语言编程程序的内存如何布局

C语言程序在内存中各个段的组成   C语言程序连接过程中的特性和常见错误   C语言程序的运行方式   一:C语言程序的存储区域   由C语言代码(文本...

592
来自专栏向治洪

数据结构之数组

一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变...

1755
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-Java基础-02总结关键字,标识符,注释,常量进制,变量数据类型

首先原谅小编的过错,昨天第二篇文章标题是: 程序员:为什么选择Java? ? 1:关键字(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 全...

2305
来自专栏北京马哥教育

Python深浅拷贝图解

作者 koyo | 来源 Openskill 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的...

3536
来自专栏游戏开发那些事

【c++】标准模板库STL入门简介与常见用法

STL(Standard Template Library)标准模板库,主要由容器、迭代器、算法、函数对象、内存分配器和适配器六大部分组成。STL已是标准C++...

701
来自专栏程序员互动联盟

【答疑解惑第六讲】数组与指针区别在哪?

存在问题: 小伙伴都说指针和数组不好学,总是搞不太清楚?两者到底有啥区别? 解决方案: 很多初学者朋友总是对数组和指针模模糊糊,搞不清楚。对他们之间的联系与区...

33111
来自专栏闻道于事

Java之数据类型,变量赋值

Java中的基础数据类型(四类八种):   1.整数型     byte----使用byte关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值...

2855

扫码关注云+社区