1、Python 中的可变和不可变数据类型是什么?
- 可变:list、dict、set
- 不可变:string、tuple、number
2、is 和 == 有什么区别?
- is判断两者值和内存地址是否全相同
- ==判断两种值是否相同
3、Python 中的单词大小写转换和字母统计?
- upper():小写转大写
- lower():大写转小写
- title():字符串中每个独立的单词的首字母大写
- capitalize():字符串中的第一个单词的首字母大写
- swapcase():大小写互换
- count(s):统计字符串中s出现的次数
4、字符串,列表,元组如何反转?反转函数 reverse 和 reversed 的区别?
- 切片
- reverse():列表独有,无返回值,直接修改列表
- reversed():python内置函数,需一个可迭代对象做为参数,返回一个迭代器对象
5、Python 中的字符串格式化的方法有哪些?f-string 格式化知道吗?
# 1. %s
name = "seth"
print("%s is coming" % name)
# 2. format()
name,age = 'seth',18
print("{_name} is {_age} years old".format(_name=name, _age=age))
# 3. f-string
name = 'seth'
print(f"hello {name}")
6、含有多种符号的字符串分割方法?
# 可以使用正则表达式
import re
str="zhong)78^dsds%fd(gf67%ds"
s=re.split("\W", str)
print(s)
7、嵌套列表转换为列表,字符串转换为列表的方法
# 嵌套列表转换为列表
from collections.abc import Iterable
l=[1,2,3,[4,5,[6,7,8],9],10]
l_new=[]
while 1:
flag=1
for i in l:
if isinstance(i, Iterable):
flag=0
for j in i:
l_new.append(j)
else:
l_new.append(i)
l=l_new
if flag:
break
# 字符串转换为列表
str='qwer'
str=list(str)
8、列表合并的常用方法?
1、extend()
2、+
9、列表如何去除重复的元素,还是保持之前的排序?
# 1、列表先转成集合,再转回成列表
l=[1,2,3,4,5,6,1,2,3,5]
l=list(set(l))
# 2、循环去重
l=[1,2,3,4,5,6,1,2,3,5]
l_new=[]
for i in l:
if i in l_new:
pass
else:
l_new.append(i)
10、列表数据如何筛选,筛选出符合要求的数据?
l=[1,2,3,4,5,6,7,12,-5,32,3,3,-7]
#1、列表生成式
l = [x for x in l if x<9]
#2、匿名函数lambda+filter()函数
l = list(filter(lambda x:x<9, l))
11、字典中元素的如何排序?sorted 排序函数的使用详解?
sorted(iterable,key=None,reverse=False)
iterable:可迭代对象
key:根据什么来排序
reverse:是否反转,即正序还是倒序
12、字典如何合并?字典解包是什么?
# 字典如何合并
update()
13、字典推导式使用方法?字典推导式如何格式化 cookie 值?
# 字典推导式使用方法?
和列表生成式差不多,唯一的区别就是列表使用"[]",字典用"{}"
以cookie为例,
cookie的基本格式是由一堆key=value组成,中间用"; "来分隔
cookie='PHPSESSID=et4a33og7nbftv60j3v9m86cro; Hm_lvt_51e3cc975b346e7705d8c255164036b3=1561553685; Hm_lpvt_51e3cc975b346e7705d8c255164036b3=1561553685'
d={x.split('=')[0]:x.split('=')[1] for x in cookie.split('; ')}
14、zip 打包函数的使用?元组或者列表中元素生成字典?
zip([Iterable,...])
接收多个可迭代对象做参数,将可迭代对象对应位置的元素打包成元组,返回由这些元组构成的列表;如果可迭代对象长度不一,以最短的为基准
l=[1,2,3,4,5]
for k,v in enumerate(l):
d[k]=v
15、字典的键可以是哪些类型的数据?
不可变的数据类型
16、变量的作用域是怎么决定的?
代码块来决定