Python常见面试题(三)数据类型

19.列举 Python 中的基本数据类型?
可变类型:list、dict
不可变类型:str int float tuple set bool

20.如何区别可变数据类型和不可变数据类型
可变数据类型:内存地址不变,value可变
不可变数据类型:value改变,内存地址也跟着改变

21.将"hello world"转换为首字母大写"Hello World"
str.title()或者str.capitalize()

22.如何检测字符串中只含有数字?
str.isdigit()

23.将字符串"ilovechina"进行反转
[::-1]

24.Python 中的字符串格式化方式你知道哪些?
使用% 通过{}替代%

25.有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。

def trim(s):
… import re
… if s.startswith(’ ‘) or s.endswith(’ '):
… return re.sub(r"^(\s+)|(\s+)$", “”, s)
… return s

26.获取字符串”123456“最后的两个字符。
str[-2:-1]

27.一个编码为 GBK 的字符串 S,要将其转成 UTF-8 编码的字符串,应如何操作?

首先将gbk编码decode为Unicode格式
然后通过解码encode转为utf-8

28. (1)s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]
(2) a = "你好 中国 ",去除多余空格只留一个空格。

re.split(pattern, string, [maxsplit], [flags])

29. (1)怎样将字符串转换为小写 (2)单引号、双引号、三引号的区别?
lower函数
在python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的,而在PHP当中单引号和双引号的有些是不一样的,虽然表示的字符串,但是在php的单引号解析速度比双引号快,如果在Python用单号那么在字符串中就可以直接收写双引号了,反之亦然。这就是python为什么允许用两种方式的原因。在实际应用中,python 单引号和python 双引号用得比较多,有两种表示方式后,就不用老用转义字符了。

30.已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写出具体过程。
利用集合的唯一性先转换为集合,然后转换为list

31.如何实现 “1,2,3” 变成 [“1”,“2”,“3”]
astr.split(’,’)

32.给定两个 list,A 和 B,找出相同元素和不同元素
intersection = list(set(a).intersection(set(b)))
union = list(set(a).union(set(b)))
difference = list(set(a).difference(set(b)))

33.[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
l3.extend(l1[i]) for i in range(len(l1))

34.合并列表[1,5,7,9]和[2,2,6,8]
l1.extend(l2)

35.如何打乱一个列表的元素?
random.shuffle(x)

36.字典操作中 del 和 pop和remove 有什么区别
pop(index)方法是对可变序列中元素下标进行检索删除,返回删除值
del(list[index])方法是对可变序列中元素下边进行检索删除,不返回删除值
remove(item)方法是直接对可变序中的元素进行检索删除,返回的是删除后的列表,不返回删除值

37.按照字典的内的年龄排序

d1 = [
    {'name':'alice', 'age':38},
    {'name':'bob', 'age':18},
    {'name':'Carl', 'age':28},
]

d2=sorted(d1,key=lambda x:x[‘age’])

38.请合并下面两个字典 a = {“A”:1,“B”:2},b = {“C”:3,“D”:4}
合并1:dict(a,**b)
合并2:dict(a.items()+b.items())
合并3:c = {} c.update(a) c.update(b)

39.如何使用生成式的方式生成一个字典,写一段功能代码。

40.如何把元组(“a”,“b”)和元组(1,2),变为字典{“a”:1,“b”:2}
zip((‘a’,‘b’),(1,2))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值