关于字符串操作的 Python 面试问题
问题 1.len() 是有效的字符串方法吗
不是。使用函数 len() 获取字符串的长度,如:len(string),不能作为方法调用.string.len()。
问题 2.title() 方法有什么作用
它返回一个标题大小写的字符串,单词以大写字母开头,其他所有内容都是小写的。
问题 3.如何去掉字符串前后的空格
>>> string = " Python "
>>> string.strip()
'Python'
问题 4.find() 和 index() 字符串方法有什么区别
如果未找到子字符串,find() 将返回 -1,index() 将引发 ValueError。
问题 5.如何将逗号分隔的字符串为列表
>>> string = "I,Love,Python"
>>> string.split(",")
['I', 'Love', 'Python']
问题 6.如何进行字符串的切片
以 string[start : end : step] 的形式进行切片。
>>> string = "Python"
>>> string[1:4]
'yth'
>>> string[0:5:2]
'Pto'
问题 7.如何将多行字符串转换为列表
>>> string = '''I
Love
Python
'''
>>> string.splitlines()
['I', 'Love', 'Python']
问题 8.如何确定字符串是否包特殊字符或标点符号
使用 isalnum() 方法,如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
>>> string = "I,Love,Python"
>>> string.isalnum()
False
>>> string = "ILovePython"
>>> string.isalnum()
True
问题 9.如何确定字符串是否只包含数字
isdigit() 方法检测字符串是否只由数字组成,只对 0 和 正数有效。
>>> string = "123"
>>> string.isdigit()
True
>>> string = "a123"
>>> string.isdigit()
False
问题 10.count() 方法有什么作用
count() 方法用于统计字符串里某个字符或子字符串出现的次数。不是字符串中的字符数。
>>> string = "ILovePython"
>>> string.count('o')
2
>>> string.count('o', 3, 10)
1
问题 11.partition() 字符串方法有什么作用
Partition() 用来根据指定的分隔符将字符串进行分割。其中包含分隔符之前的子字符串、分隔符本身和分隔符之后的子字符串。
>>> string = "I,Love,Python"
>>> string.partition(',')
('I', ',', 'Love,Python')
问题 12.如何替换字符串中的子字符串
>>> string = "I,Love,Python"
>>> string.replace('I', 'You')
'You,Love,Python'
问题 13.如何将制表符转换为空格
xpandtabs() 方法把字符串中的 tab 符号 \t
转为空格。
>>> string = "I\tLove\tPython"
>>> string.expandtabs(tabsize=8)
'I Love Python'
问题 14.如何将一个字符串列表组合成一个字符串
>>> lst = ['I', 'Love', 'Python']
>>> string = " ".join(lst)
>>> string
'I Love Python'
问题 15.如何让字符串居中
center() 返回一个指定长度的字符串,原字符串居中,默认使用空格填充两端。
>>> string = "Python"
>>> string.center(20, '*')
'*******Python*******'
问题 16.如何执行字符串内的代码
exec 执行储存在字符串或文件中的 Python 语句。
>>> exec('print("Hello World")')
Hello World
>>> exec ("for i in range(5):print (i, end=' ')")
0 1 2 3 4
问题 17.如何创建字符串模板
Template 是 string 模块提供的一个字符串模板功能,默认以 $ 标识需要替换的变量。
from string import Template
T_string = Template('$who Love $do')
string = T_string.substitute(who="I", do="Python")
print(string) # 输出:I Love Python
问题 18.如何切片方法反转字符串
string = input("请输入一个字符串:")
reversed_str = string[::-1]
print(reversed_str)
问题 19.如何使用迭代方法反转字符串
string = input("请输入一个字符串:")
reversed_str = ''
for i in range(len(string)-1, -1, -1):
reversed_str += string[i]
print(reversed_str)
问题 20.如何在不使用 len() 函数的情况下获取字符串的长度
string = input("请输入一个字符串:")
count = 0
for char in string:
count += 1
print(count)