欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础(一)字符串、元祖、字典、列表

程序员文章站 2024-01-06 14:18:34
...

元祖和列表的区别:

元祖(Tuple)是静态的,长度不可变,且内部数据无法改变。符号()

列表(List)是动态的,长度可变。符号:[]

字典(Dictionary),长度可变,符号:{'key':'value'}

字符串函数:

 

字符串的判断和大小写

s.endswith(x)

以x结尾

s.startswith(x)

以x开头

s.isalnum()

包含字母或数字 

s.isalpha()

只包含字母

s.isdecimal()

只包含十进制数字

s.isdigital()

只包含数字

s.isidentifier()

合法字符

s.isnumericc()

只含数字

s.isprintable()

只含可打印字符

s.isspace()

只含空白字符

s.istitle()

大小写符合头衔要求

isinstance(a,str)

判断两个变量类型是否一致
s.capitalize() s[0]首字符大写
s.swapcase() 小 写字母大写,大写字母小写
s.islower() 只含小写
s.isupper() 只含大写
s.lower() 变为小写
s.upper() 变为大写

 

字符串的测量和查找

len(str)

字符串长度

s.count(t)

统计t出现的次数

s.find(x)

找到返回x 的起始位置,没找到返回-1
s.rfind(x)  
s.index(x) 返回x的下标
s.rindex(x)  
s.append(): 加入一个元素

 正则表达式和运用

#正则
1、cats? ‘?’表示,左边的字符串可选,所以这个字符串就表示:cat和cats
2、x|y,表示x,y
3、x*  ,表示' '、x、xx、xxx、xxxx等
4、x+ ,表示x、xx、xxx、xxxx等

#正则表达式的运用
如:’(ha)+!‘表示:hahahahahaha!
return s =='done' or s =='quit'
return re.match('done|quit',s)!=None:需要导入import re
re.match('(ha)+!+',s)!=None 有多个hahahaha和!!!!!!!!!!!!
格式化构造

'{0} likes {1}' .format('Jack','ice cream')

=>jack likes ice cream

'{who} {pet} has fleas' .format(pet = 'dog',who  ='my')

=>'my dog has fleas'

'{0:0.1f} {1}' .format(27.655,"GB")

=>27.7 GB
'%c %c %c' % (97,98,99)   =>a b c
s.zfill(width)       在左边添加足够多的零,让字符串的长度为width
s.center(n,ch) 包含n个字符的字符串,其中s位于*,两边用字符ch填充
s.ljust(n,ch)  包含n个字符的字符串,其中s位于左边,右边用字符ch填充
s.rjust(n,ch)   包含n个字符的字符串,其中s位于右边,左边用字符ch填充
' '.join(['once','upon','a','time']) ==>once upon a time
''.join(['once','upon','a','time']) ==>onceuponatime
'-'.join(['once','upon','a','time']) ==>once-upon-a-time

 

字符串的拆分
s.partiton(t)   将s拆分为三个字符串,以t为分隔
s.rpartiton(t)   与partition相同,但从右端开始搜索t
s.split()        以t为分隔符,将s划分成一系列子串,并返回一个由这些子串所组成的列表
s.rsplit()      与partition相同,但从右端开始搜索t
s.splitlines()       返回s中各行组成的列表
s.strip(ch) 从s开头和末尾删除所有包含在字符串中开头的字符
s.lstrip(ch) 从s开头(左端)删除所有包含在字符串ch中的字符
s.rstrip(ch) 从s开头(右端)删除所有包含在字符串ch中的字符
#替换
s=s.translate(str.maketrans('', '', ',')) 

字典:构成映射关系

d.items()

返回一个由字典d的键-值对组成的视图

d.keys()

返回一个由字典d的键组成的视图

d.values()

返回一个由字典d的值组成的视图

d.get(key)

返回一个与key相关联的值

d.pop(key)

删除key并返回与之相关联的值

d.popitem()

返回字典d中的某个键-值对

d.clear()

删除字典中所有元素

d.copy()

复制字典d

d.fromkeys(s,t)

创建一个新字典,其中键来自s,值来自t

d.setdefault(key,v)

如果键key包含在字典d中,则返回其值;否则,返回v并将(key,v)添加到字典d中。

d.update(e)

将e中的键-值对添加到字典d中,e可以是字典,也可以是键-值对序列

列表

insert(x,“y”)

在第x个位置插入y list_x.remove('nancy') 删除列表中的变量名 *list_x.count(X) 计算参数X在列表中出现的次数

*list_y=sorted(list_x)

列表排序,从小到大

*s.append(x)

末尾添加x

*s.index(x)

返回第一次x元素下表

*enumerate(list_x)

返回index+element

[n*n for n in range(1,10)

][c.upper() for c in 'pizza']

列表解析:

[n for n in nums if n > 0]

列表筛选:
list_y=list(reversed(list_x)) 列表反转
list_x.extend([12.33,14.56]) 加入几个元素——用一个列表去扩展另一个列表

list3 = list1

列表相同,之后做修改也会同步,只是在内存中多了一个指向列表的标签

list_x.pop() 取出一个元素(默认为最后一个元素)并删除

member[1:3]

切片,分出列表

list2 = list1[:]

备份列表,内存拷贝

del member[x]

删除第x个元素

list[3][5]:

访问列表中的列表

list * 3

列表重复三次

“123” not in list3

 

 

上一篇:

下一篇: