(一)关于“数据结构”和“字符串”方面的面试题
关于“数据结构”和“字符串”的面试题10道,大家一起试试看自己的熟练程度吧!
1 .列举 Python 中的基本数据类型?
答: Python3 中有六个标准的数据类型:
字符串(String)、
数字(Digit)、
列表(List)、
元组(Tuple)、
集合(Sets)、
字典(Dictionary)
2. 如何区别可变数据类型和不可变数据类型?
答: 从对象内存地址方向来说
可变数据类型:在内存地址不变的情况下,值可改变(列表和字典是可变类型,但是字典中的 key 值必须是不可变类型)
不可变数据类型:内存改变,值也跟着改变。(数字,字符串,布尔类型,都是不可变类型)可以通过 id() 方法进行内存地址的检测。
3.字符串大小写问题关于英文字符串的大小写转换问题,可以通过几个函数实现?
答:四种
(1)首字母大写
a ='hello,zHong yUan GoNg!!'
print(a.title())
(2)全部大写
print(a.upper())
(3)全部小写
print(a.lower())
(4)首个单词的首字母大写
print(a.capitalize())
输出结果为:
Hello,Zhong Yuan Gong!!
HELLO,ZHONG YUAN GONG!!
hello,zhong yuan gong!!
Hello,zhong yuan gong!!
4. 如何检测字符串中只含有数字?
答:可以通过 isdigit 方法,例子如下
s1 = "12223".isdigit()
print(s1)
s2 = "12223a".isdigit()
print(s2)
结果如下:
#True
#False
5. 将字符串"ilovechina"进行反转的方法写出来
答:s1 = "ilovechina"[::-1] print(s1)
6. Python 中的字符串格式化方式你知道哪些?
答:%s,format,fstring(Python3.6 开始才支持,现在推荐的写法)
例子如下:
(1)通过位置格式化
print('hello,{0} {1} {2}'.format('zhong', 'yuan', 'gong'))
(2)通过key填充
print('hello,{name},my name is {self}!!'.format(name='tom', self='sir'))
(3)通过数组的下标填充
n=['tom', 'sir']
print('hello,{n[0]},my name is {n[1]}!!'.format(n=1))
(4)通过字典的key填充,键名不加引号
m={'name': 'tom', 'self': 'sir'}
print('hello,{m[name]},my name is {m[self]}!!'.format(m=m))
上面输出结果都是:
hello,tom,my name is sir!!
7. 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。
答:因为题目要是写一个函数所以我们不能直接使用 strip,不过我们可以把它封装到函数啊
def strip_function(s1):
return s1.strip()
s1 = " adabdw "
print(strip_function(s1))
8.说出你知道能删除字符串中的空格集中函数
答:c =' hello world !!! '
(1)去掉字符串开头和末尾的空格
print(c.strip())
(2)去掉字符串左边的空格
print(c.lstrip())
(3)去掉字符串右边的空格
print(c.rstrip())
(4)去掉字符串中所有的空格
print(c.replace(' ',''))
输出依次为:
hello world !!!
hello world !!!
hello world !!!
helloworld!!!
注意:这里不要把strip函数和split函数搞混了,前者是删除字符串中指定的字符,默认为空格,后者是用指定的字符分割字符串,默认也是空格
9. 一个编码为 GBK 的字符串 s,要将其转成 UTF-8 编码的字符串,应如何操作?
答:
#转换字符串编码
s='hello,zhongyuan university,你很好!'
print(s.encode('utf-8'))
10.单引号、双引号、三引号的区别?
答:单引号和双引号是等效的,如果要换行,需要符号(\),三引号则可以直接换行,并且可以包含注释
如果要表示Let’s go 这个字符串
单引号:s4 = ‘Let\’s go’
双引号:s5 = “Let’s go”
s6 = ‘I realy like“python”!’
11.什么是Python中的类型转换?
int() - 将任何数据类型转换为整数类型
float() - 将任何数据类型转换为float类型
ord() - 将字符转换为整数
hex() - 将整数转换为十六进制
oct() - 将整数转换为八进制
tuple() - 此函数用于转换为元组。
set() - 此函数在转换为set后返回类型。
list() - 此函数用于将任何数据类型转换为列表类型
dict() - 此函数用于将顺序元组(键,值)转换为字典。
str() - 用于将整数转换为字符串。
complex(real,imag) - 此函数将实数转换为复数(实数,图像)数。