python字符串知识点_Python数据类型知识点全解

原标题:Python数据类型知识点全解

作者:zhang_derek

1.字符串

字符串常用功能

name = 'derek'

print(name.capitalize()) #首字母大写 Derek

print(name.count("e")) #统计字符串出现某个字符的个数 2

print(name.center(10,'*')) #打印30个字符,不够的“*”补齐 **derek***

print(name.endswith('k')) #判断字符串是否以"k"结尾 True

print('244'.isdigit()) #判断字符是否为整数 True

print('+'.join(['1','2','3'])) #把join后的内容加入到前面字符串中,以+为分割符 1+2+3

print('n123'.strip()) #strip去掉换行符

print("1+2+3+4".split("+")) #以+为分隔符生成新的列表,默认不写为空格 ['1', '2', '3', '4']

msg = 'my name is {name} and i am {age} old'

print(msg.format(name='derek',age=20))

my name isderek andi am20old

字符串的内置方法

1# string.capitalize() 把字符串的第一个字符大写

2# string.center(width) 返回内容是原字符串居中,并使用空格填充至长度为 width 的新字符串

3# string.count(str, beg=0, end=len(string)) 返回 str 在 string里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

4# string.decode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 'ignore'或 者'replace'

5# string.encode(encoding='UTF-8', errors='strict') 以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

6# string.endswith(obj, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

7# string.expandtabs(tabsize=8) 把字符串 string中的 tab符号转为空格,tab符号默认的空格数是 8。

8# string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

9# string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.

10# string.isalnum() 如果 string至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

11# string.isalpha() 如果 string至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

12# string.isdecimal() 如果 string只包含十进制数字则返回 True 否则返回 False.

13# string.isdigit() 如果 string只包含数字则返回 True 否则返回 False.

14# string.islower() 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

15# string.isnumeric() 如果 string中只包含数字字符,则返回 True,否则返回 False

16# string.isspace() 如果 string中只包含空格,则返回 True,否则返回 False.

17# string.istitle() 如果 string是标题化的(见 title())则返回 True,否则返回 False

18# string.isupper() 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

19# string.join(seq) 以 string作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

20# string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

21# string.lower() 转换 string中所有大写字符为小写.

22# string.lstrip() 截掉 string左边的空格

23# string.maketrans(intab, outtab]) maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

24# max(str) 返回字符串 str 中最大的字母。

25# min(str) 返回字符串 str 中最小的字母。

26# string.partition(str) 有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string分 成 一 个 3元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string中不包含str 则 string_pre_str == string.

27# string.replace(str1, str2, num=string.count(str1)) 把 string中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

28# string.rfind(str, beg=0,end=len(string) ) 类似于 find()函数,不过是从右边开始查找.

29# string.rindex( str, beg=0,end=len(string)) 类似于 index(),不过是从右边开始.

30# string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

31# string.rpartition(str) 类似于 partition()函数,不过是从右边开始查找.

32# string.rstrip() 删除 string字符串末尾的空格.

33# string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

34# string.splitlines(num=string.count('n')) 按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

35# string.startswith(obj, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

36# string.strip([obj]) 在 string上执行 lstrip()和 rstrip()

37# string.swapcase() 翻转 string中的大小写

38# string.title() 返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

39# string.translate(str, del="") 根据 str 给出的表(包含 256个字符)转换 string的字符,要过滤掉的字符放到 del 参数中

40# string.upper() 转换 string中的小写字母为大写

2.列表

#创建

fruit = ['apple','pear','grape','orange']

#切片

print(fruit[1]) #pear

print(fruit[1:3]) #['pear', 'grape']

print(fruit[-1]) #orange

print(fruit[:2]) #['apple', 'pear']

# 追加

fruit.append('peach')

print(fruit) #['apple', 'pear', 'grape', 'orange', 'peach']

# 删除

fruit.remove('peach') #删除指定的

print(fruit) #['apple', 'pear', 'grape', 'orange']

fruit.pop() #删除列表最后一个元素

print(fruit) #['apple', 'pear', 'grape']

del fruit[2] #删除指定的索引

print(fruit) #['apple', 'pear']

# 插入

fruit.insert(1,'grape') #把‘grape’加入到索引为1的位置

print(fruit) #['apple', 'grape', 'pear']

# 修改

fruit[2] = 'orange'#直接修改

print(fruit) #['apple', 'grape', 'orange']

# 扩展

fruit1 = ['apple','orange']

fruit2 = ['pear','grape']

fruit1.extend(fruit2)

print(fruit1) #['apple', 'orange', 'pear', 'grape']

# 统计

print(fruit1.count('apple')) #1

# 排序

fruit1.sort()

print(fruit1) #['apple', 'grape', 'orange', 'pear']

fruit1.reverse()

print(fruit1) #['pear', 'orange', 'grape', 'apple']

# 获取下标

print(fruit1.index('apple')) #3

# 同时获取下标和值

forindex,item in enumerate(fruit1):

print(index,item)

# 结果

0pear

1orange

2grape

3apple

3.元组

# 创建元组

fruit = ('apple','orange','grape')

# 常用功能

print(fruit.count('apple')) #1

print(fruit.index('orange')) #1

4.字典

# 创建

fruit = {1:'apple',2:'orange',3:'grape'}

print(fruit)

# 增加

fruit[4] = 'pear'

print(fruit) #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

# 修改

fruit[4] = 'peach'

print(fruit) #{1: 'apple', 2: 'orange', 3: 'grape', 4: 'pear'}

# 删除

fruit.pop(4) #删除指定的key

print(fruit) #{1: 'apple', 2: 'orange', 3: 'grape'}

# 查找value

print(fruit.get(1)) #apple

fruit = {1:'apple',2:'orange',3:'grape'}

# 循环

fork,v infruit.items():

print(k,v)

1 apple

2 orange

3 grape

fork infruit.keys():

print(k)

1

2

3

forv infruit.values():

print(v)

apple

orange

grape

5.集合

# 创建

fruit = set(['apple','orange','pear'])

print(fruit) #{'orange', 'pear', 'apple'}

# 添加

fruit.add('grape') #add只能添加一个

print(fruit) #{'apple', 'orange', 'pear', 'grape'}

fruit.update(['peach','banana']) #update添加多个

print(fruit)

{'banana', 'pear', 'apple', 'peach', 'grape', 'orange'}

# 删除

fruit.remove('banana') #删除指定的

print(fruit)

fruit.pop() #随机删除

print(fruit)

num1 = set([11,22,33,44])

num2 = set([33,44,55,66])

# 并集

print(num1.union(num2)) #{66, 11, 22, 33, 44, 55}

# 差集

print(num1.difference(num2)) #{11, 22}

# 交集

print(num1.intersection(num2)) #{33, 44}

作者:zhang_derek

源自:

http://www.cnblogs.com/derek1184405959/p/8041926.html

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值