python基本数据类型之字符串(五)

python基本数据类型之字符串(五)

遍历与查找

python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符。而查找的方法主要有两个:find与index。

1、字符串的遍历

字符串的遍历可以使用for循环。

s = ‘goodhappynewyear‘
li = []
for item in s:
    li.append(item)
print(li)

打印结果:

[‘g‘, ‘o‘, ‘o‘, ‘d‘, ‘h‘, ‘a‘, ‘p‘, ‘p‘, ‘y‘, ‘n‘, ‘e‘, ‘w‘, ‘y‘, ‘e‘, ‘a‘, ‘r‘]

既然字符串可以被遍历,那么它应该是有长度的。获取字符串长度可以使用内置方法len()。

v = len(s)
print(v)

打印结果:16

需要注意的是,python2与python3中的len()方法是不一样的。python2中的len()方法获取的是字符串的字节个数,而python3中len()方法获取的字符个数。

另一种遍历字符串的方法是利用索引。字符串中的每个字符都是可以通过索引进行访问的。例如:

print(s[0])
print(s[-1])

打印结果:g r

索引是从[0]开始的,默认最后一个字符的索引是[-1]。利用索引和range()方法,我们同样也可以遍历字符串。

s = ‘hello‘
for i in range(len(s)):
    print(‘s[‘ + str(i) + ‘]=‘ + s[i], end=‘\t‘)

打印结果:

s[0]=h  s[1]=e  s[2]=l  s[3]=l  s[4]=o  

range方法

range方法的作用生成一定范围内的序列,这是python中重要的内置方法之一。该方法有两个版本:

  1. range(stop):需要一个参数,指定数字范围的最大值;
  2. range(start,stop,step):start指定数字范围的最小值,stop指定数字范围的最小值,step指定步长。这个范围包含start,但不包括stop,包含在内的最大值为stop-1。

示例如下:

li = []
for i in range(10):
    li.append(i)
print(li)

打印结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

另一个示例:

li = []
for i in range(3, 13, 2):
    li.append(i)
print(li)

打印结果:

[3, 5, 7, 9, 11]

python2与python3中的range方法在利用内存的方式上存在着不同。python2中,range方法生成的数字序列会直接进入内存,也就是不需要遍历就可以打印出来;而python3中,range方法并不会直接将数字序列填充内存,而是需要遍历后才能进入内存。

python3中的示例:

print(range(15))
print([x for x in range(15)])

打印结果:

range(0, 15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

python2中的xrange方法与python3中的range方法完全一样,也是需要遍历后才能进入内存。python3中没有xrange方法。

2、find、rfind、index、rindex

这三个方法都是用来查找字符串中的字符。

rfind\rindex与find\index基本的用法一致,只不过find和index是从左往右查找,而rfind和rindex是从右往左查找。

find和index方法都是3个参数(str, start, end),第一参数指定要查找的子串(必填),第二、第三个参数指定查找的开始与结束位置(默认从0到最后一个),(start,end)的设置与切片一致,即包含start而不包含end。

s = ‘enfkejoeapjomdeep‘
v = s.find(‘ee‘,6) # 当仅传入一个参数时,默认为指定start.
print(v)

打印结果:14

s = ‘enfkejoeapjomdeep‘
v1 = s.rindex(‘jo‘,3,12)
print(v1)

打印结果:10

不论是从左(find、index)还是从右(rfind、rindex)查找,结果都会返回找到的第一个子串的索引,而find与index的区别在于,如果要查找的子串不在字符串中,find方法会返回-1,而index方法则会报错。所以,在实际运用中,建议选择find方法。

原文地址:https://www.cnblogs.com/guyexiangyun/p/10209014.html

时间: 2024-08-25 12:24:28

python基本数据类型之字符串(五)的相关文章

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

python基本数据类型之字符串(三)

python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法和相应的判断方法放在一起进行讲解. 这些方法包括:capitalize.casefold.lower\islower.upper\isupper.maketrans\translate.swapcase.title\istitle 1.capitalize.title.istitle capital

python基本数据类型之字符串(四)

python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值都是bool类型(True\False). 方法包括:startswith\endswith.isalnum\isalpha.isdecimal\isdigit\isnumeric.isidentifier.isprintable.isspace 1.startswith.endswith 这两个方

python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环

Python基础数据类型(4.29) bool str int 三者之间的转换 str索引切片,常用操作方法 for循环(大量的练习题) 1.基础数类型总览 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). 10203 123 3340 int 主要用于计算+- * / 等等 '今天吃了没?' str 存储少量的数据,并进行相应的操作.str1 + str2, str *int , 索引,切片, 其他操作方法 Tru

Python的数据类型--数字--字符串

先讲一个概念 在Python里,一切皆对象,对象基于类创建 所以,以下这些值都是对象: "wupeiqi".38.['北京', '上海', '深圳'],并且是根据不同的类生成的对象. 1.变量类型与对象 1.程序中需要处理的状态很多,就要有不同类型的变量值来表示, 在python中所有数据都是围绕对象这个概念来构建的,对象包含一些基本的数据类型:数字,字符串,列表,元组,字典等 程序中存储的所有数据都是对象,包含了1.身份(id),2.类型(type),3值(通过变量名来查看)每个对象

python之数据类型(字符串)

字符串用双引号" "或单引号' '都可以. (一)字符串拼接 代码: 1 s1 = "这是数字: " 2 p = 99.8 3 # 使用str()将数值转换成字符串 4 print(s1 + str(p)) 5 # 字符串直接拼接数值,程序报错 6 print(s1 + p) 结果: 这是数字: 99.8 Traceback (most recent call last): File "D:/code/python_code/python_pickle.p

【python】数据类型,字符串和编码

python笔记,写在前面:python区分大小写1.科学计数法,把10用e代替,1.23x10·9就是 1.23e9                            或者 0.00012就是1.2e-42.转义字符 \ 或者 r''[相当于C#里的@]r代表 raw string里边的\不转义   要表示  \   就要写成 \\   换行符 可以用 '''内容''' ,也可以前面加上r显示          例子:               print('''1           

Python基本数据类型以及字符串

基本数据类型                数字  int ,所有的功能,都放在int里            a1 = 123            a1 = 456                        - int                将字符串转换为数字                    a = "123"                    print(type(a),a) b = int(a)                    print(type(

python 基础数据类型之字符串02

1.字符串去除空格 # # strip(self, chars=None) #去除字符串两端空格 # lstrip(self, chars=None) #去除字符串左端空格 # rstrip(self, chars=None) #去除字符串右端空格 程序: str1 = "  hello world!  " print str1.strip() print str1.lstrip() print str1.rstrip() 运行结果: hello world! hello world!