1 字符串操作
序列:在Python中,序列就是一组按照顺序排列的值【数据集合】
在Python中,存在三种内置的序列类型:
字符串,列表,元组
优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端
切片:【高级特性】可以根据下标来获取序列对象的任意[部分]数据
语法结构:[start:end:step] step默认为1
下标会越界,切片不会
1.1 字符串操作常用函数
strip() #去掉字符串俩边的空格
lstrip() #去掉左边的空格
rstrip() #去掉右边的空格
capitalize()) #将首字母变为大写
代码演示:
test=' python '
print("第一个字符:%s"%test[0])
for item in test:
print(item,end=' ')
print()
print("首字母变为大写:%s"%test.capitalize()) #将首字母变为大写
print("去掉空格:%s"%test.strip()) #去掉字符串俩边的空格
print("去掉左边的空格:%s"%test.lstrip()) #去掉左边的空格
print("去掉右边的空格:%s"%test.rstrip()) #去掉右边的空格
结果:
扩展部分:
id() #查看内存地址
代码演示:
a=test #将test的内存地址复制给了a
print("test的内存地址为:%d"%id(test)) #id函数来查看变量在内存中的地址
print("a的内存地址为:%d"%id(a))
结果:
1.2 字符串定位常用函数:
find() #来查找字符在字符串中第几位,返回-1则代表未找到
index() #跟find功能类似,唯一不同的是它不会带空格,如果找不到会直接报错
startswith() #判读段是否以某个字符开头,返回值为true或false
endswith() #判读段是否以某个字符结尾,返回值为true或false
lower() #此函数将字符串转换为小写
upper() #此函数将字符串转换为大写
代码演示:
dataStr='I Love China'
print("P在第%d位"%dataStr.find('P')) #find函数,来查找某个字符在字符串中第几位,返回-1代表未找到
print("C在第",dataStr.find('C'),"位")
print(dataStr.index('o')) #index函数,不会计算空格
print(dataStr.index('w')) #index函数找不到就会直接报错,find找不到则会报错
print(dataStr.startswith('I')) #判断开头
print(dataStr.endswith('I')) #判断结尾
print(dataStr.lower()) #转换为小写
print(dataStr.upper())#转换为大写
结果:
可以看到Index函数未找到字符串则会直接报错
1.3 切片操作:
strMsg='hello world'
#slice[start:end:step] 左闭右开
print(strMsg[0]) #输出第一个字符
print(strMsg[2:6]) #输出下标2-5之间的字母
print(strMsg[2:]) #输出第三个字符到最后
print(strMsg[:3]) #输出第一个到第三个字符
print(strMsg[::-1]) #倒序输出
结果:
2 列表操作
list:python当中非常重要的数据结构,是一种有序的数据集合
特点:
(1)支持增删改查
(2)列表中的数据是可以变化的,【数据项可以变化,内存地址不会改变】
(2)用[ ]来表示数据类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
(3)支持索引和切片来进行
2.1 列表的查询操作
代码演示:
listA=['abcd',553,87.658,'canglaoshi',True]
print(len(listA)) #len函数来打印共有几个值
print(listA) #输出完整的列表
print(listA[1:3]) #输出从第二个开始到第三个
print(listA*3) #将列表中的内容输出三次
结果:
2.2 列表的增加操作
append() #此函数用来追加数据
insert() #此函数用来插入数据
extend() #此函数用来扩展数据
代码演示:
listA=['abcd',553,87.658,'canglaoshi',True]
print('追加之前:',listA)
listA.append(['nihao','wocao']) #append()函数,用来追加数据
listA.append(111)
print('追加之后:',listA) #输出追加之后的列表
listA.insert(1,'tom') #insert()函数,用来插入数据
print('插入之后:',listA) #输出插入之后的列表
rsData=list(range(10))
listA.extend(rsData) #进行追加数据
print(listA)
listA.extend([11,22,33]) #还可以以这种方式插入
print(listA)
结果:
2.3 列表的修改操作
代码演示:
listA=['abcd',553,87.658,'canglaoshi',True]
print('修改之前:',listA)
listA[1]=1.2 #找到下标之后可直接修改
print('修改之后:',listA)
结果:
2.4 列表的删除操作
del list[n] #删除该索引处的值
remove() #移除某一个数值,注意:这里的参数是列表里的具体数值
pop() #移除此下标的数值,这里的参数是索引值
代码演示:
listB=list(range(10,20))
print('输出列表:',listB)
del listB[1] #将下标为1的数据删除
print('输出删除第二个位置之后的列表:',listB)
del listB[1:5] #删除下标1-5的数据
print('删除下标1-5之后的数据:',listB)
listB.remove(10) #移除某一个数值,这里的参数是具体数值
print(listB)
listB.pop(1) #移除一个数值,这里的参数是索引值
print(listB)
结果:
3 元组
元组:是一种不可变的序列,在创建之后不能做任何的修改,只可做查询操作
(1)不可变,但是可以对元组中的列表进行修改
(2)用()创建元组类型,数据项用逗号来分割
(3)可以是任何类型
(4)当元组中只有一个元素时,要加上逗号,不然解释器会当作整形来现处理
(5)同样支持切片操作
3.1 取值
代码演示:
tupleA=('abcd','1','3.14','tom',[99,88,77])
print(tupleA[3]) #利用下标取值
print(tupleA[2:4]) #取出第二跟第三个值
print(tupleA[-3:-5:-1]) #倒序输出,从右边到左边下标依次为:-1,-2,-3,-4,-5
print(tupleA[::-2]) #隔俩个取一个
结果:
3.2 对元组中的列表元素进行修改
代码演示:
tupleA=('abcd','1','3.14','tom',[99,88,77])
tupleA[4][0]=777 #对元组中的列表进行修改
print(tupleA)
结果:
3.3 元组赋值
要想使元素变为元组类型,必须要加逗号。
代码演示:
tupleB=(111) #当元组中只有一个数据项的时候,会当作其他类型来处理
print(type(tupleB))
tupleC=('hello',)
print(type(tupleC)) #当元组中只有一个数据项的时候,必须要加上逗号才可以变为元组
结果:
3.4 统计元素
count() #用来统计元组中元素出现次数
代码演示:
tupleD=tuple(range(10))
print(tupleD)
print(tupleD.count(2)) #统计元素出现的次数
结果:
4 字典
未完待续。。。。。。。