您的位置:首页 > 其它

str字符串和list列表

2019-06-17 20:39 106 查看

字符串:

字符串:使用单引号或者双引号括起来的任意字符,我们都可以称它为字符串

字符串的创建:
str1 = “hello”
str2 = “world”

字符串的拼接:
1.使用"+"来进行拼接
str3 = str1+str2
注意:不同数据类型不能使用加号来进行拼接

2.使用","来进行拼接
print(str1,str2)

3.使用"%“来进行拼接,使用格式化的方式
print(”%s%s"%(str1,str2))

4.使用"{},{}".format()来进行拼接

5.使用join函数来进行拼接
“”.join(序列)
注意:序列中的元素必须是字符串

字符串的重复输出:
str1*n
功能:将str1重复n次输出

print("*"*50)

获取字符串的长度:

len(str1)	#5

访问字符串中的字符:
使用索引(下标)的方式实现
str1[index]
index索引值/下标值 取值范围[0,len(str1)]
索引值/下标值 从0开始计算
索引值还可以为负,可以从-1开始,-1代表倒是第一个字符

从控制台输入一个五位数,判断它是否为回文数,使用字符串的方式实现。

while 1:
number = input("请输入一个五位数:")
if len(number) == 5:
break
else:
print("输入有误,请重新输入。。。")
continue
if number[0] == number[-1] and number[1] == number[-2]:
print("%s为回文数"%number)
else:
print("%s不是回文数" % number)

字符串的截取:
str1[star:stop:step]
参数一:从start开始取,默认0
参数二:到stop结束,stop取不到,默认len(str1)
参数三:步长,默认1,可以为负,为负从右往左取值
这三个参数都可以不写,但是冒号一定要写

判断是否包含指定的字符:
字符 in 字符串
若字符串中包含指定的字符则返回True,否则返回False

%s::输出字符串
%d:输出整型
%nd:输出长度为n的整型,右对齐
%0nd:输出长度为n 的整数,不够的时候使用0补齐
%-nd:输出长度为n的整型,左对齐
%f:输出浮点数
%.nf:输出保留n位小数的浮点数,n=0,不保留小数

字符串中常用函数:
eval(str1)
功能:将str1转为一个有效的表达式,并且返回计算结果

str(x)
功能:可以将x(number, bool, list, tuple, set, dict)转为字符串
str1.lower()

功能:将字符串中的大写字母转为小写字母,并且返回一个新的字符串
str1.upper()

功能:将字符串中的小写字母转为大写字母,并且返回一个新的字符串

str1.swapcase()
功能:将字符串中的大写字母转为小写字母,将小写字母转为大写字母,并返回一个新的字符串

str1.capitallize()
功能:返回一个首字母大写其他字母都小写的字符串

str1.title()
功能:返回一个标题化的字符串,每个单词的首字母都大写,其他字母小写

str1.center(width,fillchar)
功能:返回一个以width为宽度,str1居中的,使用fillchar填充的字符串

str1.ljust(width,fillchar)
功能:返回一个以width为宽度,str1居左的,使用fillchar填充的字符串

str1.rjust(width,fillchar)
功能:返回一个以width为宽度,str1居右的,使用fillchar填充的字符串

str1.zfill(width)
功能:返回一个以width为宽度,str1居中的,使用0填充的字符串

str1.count(sub,start,end)
功能:统计sub在str1中出现的次数,若不指定start与end则默认统计整个字符串,若指定start与end,则统计的范围[start,end]

str1.find(sub,start,end)
功能:在str1中从左往右查找sub是否存在,若存在则返回第一个匹配的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串

str1.rfind(sub,start,end)
功能:在str1中从右往左查找sub是否存在,若存在则返回第一个匹配的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串

str1.index(sub,start,end)
功能:在str1中从左往右查找sub是否存在,若存在则返回第一个匹配的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串

str1.rindex(sub,start,end)
功能:在str1中从左往右查找sub是否存在,若存在则返回第一个匹配的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串

str1.strip(chars)
功能:去除str1左右两边的指定chars,若chars不给,默认去除空白符[\r\n\f\t]

str1.lstrip(chars)
功能:去除str1左边的指定chars,若chars不给,默认去除空白符[\r\n\f\t]

str1.rstrip(chars)
功能:去除str1右边的指定chars,若chars不给,默认去除空白符[\r\n\f\t]

str1.split(seq,maxsplit)
功能:从左往右使用指定的seq对str1进行切割处理,若不指定seq则使用默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。

str1.rsplit(seq,maxsplit)
功能:从右往左使用指定的seq对str1进行切割处理,若不指定seq则使用默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。

list列表:

本质:是一个有序的集合
列表的创建:
list = [元素1,元素2,元素3,…]

创建空列表
list1 = list()
list2 = []
注意:列表中的元素类型可以是任意python中的基本数据类型或者是自定义的数据类型
元素的访问:
使用索引的方式访问 list[index] index的取值范围[0,len(list1))
当index超出取值范围的时候会出现IndexError的错误(下标越界的错误)
取值可以为负,为负的时候从倒数第一个开始取

获取列表的长度:
len(list)
功能:获取列表的长度
列表元素的替换:
list3 = list1+list2
功能:将list1中的元素与list2中的元素去除组合成一个新的列表并且返回

列表的重复:
list2 = list*n
功能:将list1中的元素重复n次输出到新的列表中

判断元素是否在列表中存在:
元素 in 列表
功能:若存在则返回True,否则返回False

列表的截取:
list[start,stop,step]
start:默认0
stop:默认len(list1)
step:默认1,取值可以为负,若指定start与stop取值范围[start,stop)
二维列表:
列表中元素可以是python的基本数据类型,也可以是自定义的数据类型。
当列表中存放的元素刚好又是列表的时候,我们可以称这个列表为二维列表
list1 = [列表1,列表2,列表3…,列表n]

二维列表的访问:
list1[index1][index2]
index1:代表第几个列表
index2:代表列表中第几个元素

list3 = [1,2,3,[“hello”,True]]
list4 = [[1,2,3],[4,5,6],list3]
print(list4) #[[1, 2, 3], [4, 5, 6], [1, 2, 3, [‘hello’, True]]]
print(list4[-1][-1][0].upper()) #HELLO
print(list4[-1][::-1]) #[[‘hello’, True], 3, 2, 1]

列表中常用的方法:
list1.append(obj)
功能:在列表的末尾添加指定的对象

list.extend((序列)iterable)
功能:将序列中的元素打碎追加到list中
注意:extend后面必须是序列

list1.insert(index,obj)
功能:将obj插入到指定的下标出

list1.pop(index)
功能:将指定下标的元素删除,并且将删除的元素返回,若index不指定,默认删除最后一个元素
list1.remove(元素)
功能:将列表中第一个匹配的元素移出

list1.clear()
功能:清除列表中元素(列表还存在)

list1.del()
功能:直接删除列表

list1.index(obj,start,stop)
功能:在list中查找obj是否存在,若查找到则返回obj,第一次查询到的下标值,若找不到则报错,查询范围[start,stop]

list.count(obj)
功能:统计obj在list中出现的次数

max(list1)
功能:返回列表中的最大值

min(list1)
功能:返回列表中的最小值

list1.reverse()
功能:将列表中的元素倒叙,操作原列表,不返回新的列表

list1.sort()
功能:将list1中的元素进行升序排列,默认reverse = False,当reverse = True时,为降序排列

需求:list = [1,2,3,3,11,2,3,3,12,1,44,“hello”,“hello”]
将列表中重复的元素去除,不使用set

list1 = [1,2,3,3,11,2,3,3,12,1,44,"hello","hello"]
list2 = []
for x in list1:
if x not in list2:
list2.append(x)
print(list2)   #[1, 2, 3, 11
1ddc4
, 12, 44, 'hello']

列表的拷贝:
1.赋值拷贝/引用拷贝
特点:共用同一块内存区域,更改其中任意一个变量,其他变量都会受到影响。

2.浅拷贝
list2 = list.copy()
只适用于一位列表
不完全内存拷贝,对于一维列表重新开辟了一块内存空间,但若出现二维列表的情况下,因为二维列表存放在一维列表

3.深拷贝
import copy
list2 = copy.deepcopy
完全内存拷贝,相当于list1中的所有列表中元素重新复制了一份,对于多维的也重新开辟了内存空间,因此它不会出现内存共用的情况。

list1 = [1,2,3,4[1,2,3,4]]
list2 = list1

import copy

print(id(list1))    #36159880
print(id(list2))    #36159880
list3 = list1.copy()
print(id(list1))    #42123656
print(id(list3))    #42124936
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: