Python面试题之数据类型

目录

阅读源

python-面试通关宝典

列举 Python 中的基本数据类型

Python3 中有六个标准的数据类型:

Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

如何区别可变数据类型和不可变数据类型

hash()内置函数

将"hello world"转换为首字母大写"Hello World"

>>> c = "hello world"
>>> c.title()
'Hello World'
>>> 

如何检测字符串中只含有数字?

https://blog.csdn.net/qq_38727847/article/details/102736098?tdsourcetag=s_pctim_aiomsg 
答案:
# 分为两种情况
# 1.不包含正负号 +-
a = '32323'
a.isdigit()
# 2.含有正负号
import re
re.match(r'[+-]?\d+$',a)

我的见解:
没说是哪一种数字(半角or全角阿拉伯数字、罗马数字、中文大写or小写数字)
s = input()
if s.isalnum():
    if not (s.islower() or s.isupper()):
        print('字符串只含有数字')
    else:
        print('字符串中有叛徒')

将字符串"ilovechina"进行反转

s = 'ilovechina'
x = list(s)
x.reverse()
''.join(x)

我的答案:
s = 'ilovechina'
s = s[::-1]

Python 中的字符串格式化方式你知道哪些?

1. %格式化方法
2. 字符串方法.format()
3. 字符串方法.format_map()
4. f-string
5. 内置函数 format()

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

s = " adabdw "
s.strip()

获取字符串”123456“最后的两个字符

s = '123456'

print(s[-2:])

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

s.encode('utf-8')

s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]

import re
s="info:xiaoZhang 33 shandong"
re.split(r'[:\s]',s)

怎样将字符串转换为小写?

b = 'HHH'
b.lower()

单引号、双引号、三引号的区别?

s = 'hello'
s= "hello"
单引号与双引号没有区别,
三引号可以用来加注释,所加注释可以使用__doc__查看

a = "你好 中国 ",去除多余空格只留一个空格

a = "你好     中国  "
s = ' '.join(a.strip().split())

已知 AList = [1,2,3,1,2],对 AList 列表元素去重,写出具体过程

a_list = [1,2,3,1,2]
ss = set(a_list)

如何实现 “1,2,3” 变成 [“1”,“2”,“3”]

s = "1,2,3"
s.split(',')

给定两个 list,A 和 B,找出相同元素和不同元素

# 最直接的方法
list_a = [1,2,3,4,5,6]
list_b = [2,3,6]
same_l = []
not_same = []
for i in list_a:
    if i not in list_b:
        not_same.append(i)
for j in list_b:
    if j not in list_a:
        not_same.append(j)
for x in list_a:
  if x in list_b:
       same_l.append(x)
# 奇技淫巧
list_a = [1,2,3,4,5,6]
list_b = [2,3,6]
set1 = set(list_a)
set2 = set(list_b)
# 相同元素
print(set1&set2)
# 不同元素
print(set1^set2)

[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]

mm = [[1,2],[3,4],[5,6]]
[j for a in mm for j in a]

合并列表[1,5,7,9]和[2,2,6,8]

a = [1,5,7,9]
b = [2,2,6,8]
# 方法1
a.extend(b)
# 方法2
a[0:0] = b
# 方法3
a += b

如何打乱一个列表的元素?

import random
a = [1,5,7,9]
random.shuffle(a)

字典操作中 del 和 pop 有什么区别

del 操作删除键值对,不返回值;
pop 操作删除键值对的同时,返回键所对应的值。

按照字典的内的年龄排序

d1 = [
    {'name':'alice', 'age':38},
    {'name':'bob', 'age':18},
    {'name':'Carl', 'age':28},
]
sorted(d1,key=lambda x:x['age'])

请合并下面两个字典 a = {“A”:1,“B”:2},b = {“C”:3,“D”:4}

python3合并字典有三种方式

# 1.
a = {'a':1,'b':2}
b = {'c':3,'d':4}
c = {}
c.update(a)
c.update(b)
# 2.
c = dict(a,**b)
# 3.
c = {**a,**b} # 官方推荐这种方式

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

{x:x*x for x in range(6)}

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

a = ('a','b')
b = (1,2)
z=zip(a,b)
c = dict(z)

Python 常用的数据结构的类型及其特性?

List,tuple,dict,set是比较常用的数据结构,queue,heap,deque,ProrityQueue,multiprocessing.Queue等进阶的数据结构类型。特性就去查查吧,写在这里太长了。

Python 里面如何实现 tuple 和 list 的转换?

tuple(list) # tuple转list
list(tuple) # list 转tuple

我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢?

使用自带的itertools库进行实现,具体实现方式 itertools.islice(生成器对象,起始位置,结束位置),即可实现切片功能。

请将[i for i in range(3)]改成生成器

(i for i in range(3))

a="hello"和 b="你好"编码成 bytes 类型

a.encode()
b.encode()

下面的代码输出结果是什么?

a = (1,2,3,[4,5,6,7],8)
a[2] = 2
报错,元组是不可变对象,不支持修改
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值