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 条评论
登录 后参与评论

相关文章

来自专栏代码世界

Python基础数据类型之字典

 基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型。 不可变数据类型:元组(tupe)、布尔值(bool)、整数型(int)、字符串(str...

3349
来自专栏彭湖湾的编程世界

【数据结构】实现字典API:有序数组和无序链表

参考资料 《算法(java)》                           — — Robert Sedgewick, Kevin Wayne 《数据结...

2705
来自专栏aCloudDeveloper

C++基础题

刚在网上转看到几道对于巩固基础很有帮助的C++基础题,反正闲着也是闲着,就做了下,具体题型如下: 答案是我自己写,不一定对,如果有朋友看到不对的,欢迎指正,万分...

1895
来自专栏技术博客

C#类和结构体的异同点简单总结

类和结构的异同点? 异:  1.关键字不同 一个是class,一个是struct     2.类型不同,一个是引用类型,一个是值类型(一个堆区,一个栈区)   ...

1252
来自专栏Python爬虫实战

Python指南:组合数据类型

Python提供了5中内置的序列类型:bytearray、bytes、list、str与tuple,序列类型支持成员关系操作符(in)、大小计算函数(len()...

621
来自专栏塔奇克马敲代码

第6章 函数

1757
来自专栏緣來來來

Python中lambda的学习

这个函数引用时需要传入一个参数,并且有一个返回值。这个参数一般是for x in L之类的传进来,或者直接调用f(3)。

1212
来自专栏书山有路勤为径

词语模式_哈希表

已知字符串pattern与字符串str,确认str是否与pattern匹配。str与pattern匹配代表字符 串str中的单词与pattern中的字符一一对应...

734
来自专栏Python小屋

Python从序列中选择k个不重复元素

集合中的元素不允许重复,Python集合的内部实现为此做了大量相应的优化,判断集合中是否包含某元素时比列表速度快很多。下面的代码用于返回指定范围内一定数量的不重...

3046
来自专栏张俊红

数据结构—字符串

关于字符串还有一个重要的知识点是KMP模式匹配算法,关于这个算法会单独拿一篇来写。

752

扫码关注云+社区