文章目录
1.Python 有哪些数据类型?并举例
集合、字典、列表、元组、整型、浮点型、布尔型、字符串
2.列表和元组的区别?
列表属于可变数据类型,元组属于不可变数据类型
列表为[]、元组为()
3.请写出一段Python代码实现删除一个list里面的重复元素
方法一
list1=[1,2,3,4,1,3]
list1=list(set(list1))
print(list1)
方法二
list1=[1,2,3,4,1,3]
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
方法三
a=[1,2,4,2,4,5,6,5,7,8,9,0]
b={}
b=b.fromkeys(a) #用列表里的值作为字典的键
print(b)
a=list(b.keys()) #字典的键不能重复
print (a)
结果:
{1: None, 2: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None, 0: None}
[1, 2, 4, 5, 6, 7, 8, 9, 0]
方法四
数据库mysql的disting 去重
4.单引号,双引号,三引号的区别
单引号和双引号可用来表示一个字符串,三引号的作用是注释,可以换行注释
5.看代码写结果
def func(a,b=[]):
b.append(a)
return b
v1 = func(1)
print(v1)
v2 = func(2,[10,20])
print(v2)
v3 = func(3)
print(v3)
结果:
[1]
[10, 20, 2]
[1, 3]
6.请问上题中def func(a,b=[]): 这种写法有什么陷阱?
函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第三次执行还是用第一次执行的时候实例化的地址存储,
所以第一和第三次执行的结果就是相同的,想每次执行只输出当前传入参数 ,默认参数应该设置为None
7. re的match和search区别?
== match ==:如果字符串开头有0个或多个字符,符合正则表达式返回匹配的对象如果不符合返回none
== search ==:扫描整个字符串有匹配的返回匹配对象没有返回none
8. re 中 .* 与 .*? 有何区别
.*贪婪模式匹配一个或多个
.*?非贪婪模式匹配一个
9. re 匹配邮箱代码 格式: 51245546@qq.com |或者| kkbig@163.com
import re
str1="51245546@qq.com"
str2="kkbig@163.com"
result1=re.findall('[1-9]\d+@qq.com',str1)
result2=re.findall('[a-z]+@163.com',str2)
print(result1,result2)
结果:['51245546@qq.com'] ['kkbig@163.com']
l = [1,2]
j = ''.join(l)
print(type(j))
print(str(l[None,False]))
找值 find index
10.把字符串里面的数字换成大写的A
import re
str1 ='fsfgshhsj12344hhsshjds66666'
result = re.sub('\d+?','A',str1)
print(result)
结果:fsfgshhsjAAAAAhhsshjdsAAAAA