python⼊门题⽬填空题_Python基础练习题
同上⼀篇,依旧是上周末做的练习题笔记。
笔记代码直接从jupyter notebook笔记本中导出的,因为此,所以有些代码中,输出语句中没有print。
参考时,请注意咯!
1 列出python中可变数据类型和不可变数据类型,并简述原理
答:Python中可变数据类型有:列表、字典、集合;不可变数据类型有:数值型、字符创、元祖
【了解】
不可变数据类型: 当该数据类型的对应变量的值发⽣了改变,那么它对应的内存地址也会发⽣改变,对于这种数据类型,就称不可变数据类型。
可变数据类型 :当该数据类型的对应变量的值发⽣了改变,那么它对应的内存地址不发⽣改变,对于这种数据类型,就称可变数据类型。
总结:不可变数据类型更改后地址发⽣改变,可变数据类型更改地址不发⽣改变
2 ⽤lambda函数实现两个数相乘
# ⽤lambda函数实现两个数相乘
c = lambda a , b : a * b
c(3,2)
运⾏结果: 6
3 字典根据键从⼩到⼤排序dict={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}
# 字典根据键从⼩到⼤排序dict
from collections import OrderedDict
dict = {"name":"zs","age":18,"city":"深圳","tel":"1362626627"}
OrderedDict(sorted(dict.items(),key= lambda x:x[0]) )
运⾏结果:
OrderedDict([('age', 18),
('city', '深圳'),
('name', 'zs'),
('tel', '1362626627')])
4 利⽤collections库的Counter⽅法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
# 利⽤collections库中的Counter⽅法统计字符创中每个单词出现的次数
from collections import Counter
a = "kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
Counter(a.split(';'))
这道题⽬,我看到⽹上有其他做法,将各个字母出现的次数计算了出来。但我理解,这⾥是计算“单词”出现的次数,不是单独的字母,所以⽤split函数提前做了处理。
运⾏结果:
Counter({'kjalfj': 1,
'ldsjafl': 1,
'hdsllfdhg': 1,
'lahfbl': 1,
'hl': 1,
'ahlf': 1,
'h': 1})
5 字符串a = "not 404 found 张三 99 深圳",每个词中间是空格,⽤正则过滤掉英⽂和数字,最终输出"张三 深圳" #⽤正则过滤字符串中英⽂和数字
import re
a = "not 404 found 张三 99 深圳"
b = a.split(" ")
res = re.findall('\d+|[a-zA-Z]+',a)
for i in res:
if i in b:
new_str = " ".join(b)
print(new_str)
运⾏结果:张三 深圳
6 filter⽅法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list(filter(lambda x: x%2 !=0,a))
核酸null啥意思运⾏结果:
[1, 3, 5, 7, 9]
7 列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [x for x in a if x%2 ==1]
print(b)
运⾏结果:
[1, 3, 5, 7, 9]
8 写代码,有如下变量,请按照要求实现每个功能 name = " aleX "
a.移除name变量对应的值两边的空格,并输⼊移除有的内容
# a.移除name变量对应的值两边的空格,并输⼊移除有的内容
name = " aleX "
mysql服务print(name.strip())
运⾏结果:
aleX
b.判断name变量对应的值是否以 "al"开头,并输出结果
# b.判断name变量对应的值是否以 "al"开头,并输出结果
name = " aleX "
print(name.startswith("al"))
运⾏结果:
用easyui制作销售False
c.判断name变量对应的值是否以 "X"结尾,并输出结果
# c.判断name变量对应的值是否以 "X"结尾,并输出结果
name = " aleX "
dswith("X"))
运⾏结果:
Falseweight用英语怎么说
d.将name变量对应的值中的 " l" 替换为 " p",并输出结果
# d.将name变量对应的值中的 " l" 替换为 " p",并输出结果
name = " aleX "
place("l","p"))
运⾏结果:
apeX
【补充下replace函数语法:】 Python replace() ⽅法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
e.将name变量对应的值根据 " l" 分割,并输出结果。
# e.将name变量对应的值根据 " l" 分割,并输出结果。
name = " aleX "
print(name.split("l"))
运⾏结果:
[' a', 'eX ']
f. 请问,上⼀题 分割之后得到值是什么类型?
# f.请问,上⼀题 分割之后得到值是什么类型?
# name变量经过分割后,得到列表List。
print(type(name.split("l")))
#list内部值为字符串
morphological翻译print(type(name.split("l")[0]))
运⾏结果:
g.将name变量对应的值变⼤写,并输出结果
# g.将name变量对应的值变⼤写,并输出结果
print(name.upper())
运⾏结果:
ALEX
h.将name变量对应的值变⼩写,并输出结果
# h.将name变量对应的值变⼩写,并输出结果
print(name.lower())
运⾏结果:
alex
i.请输出name变量对应的值的第2个字符?
# i.请输出name变量对应的值的第2个字符?
name = " aleX "
print(name[1:2])
运⾏结果:
a
j.请输出name变量对应的值的前3个字符?
# j.请输出name变量对应的值的前3个字符?
name = " aleX "
print(name[:3])
运⾏结果: al
k.请输出name变量对应的值的后2个字符?
# k.请输出name变量对应的值的后2个字符?
name = " aleX "
print(name[-2:])
运⾏结果:
X
l.请输出name变量对应的值中 "e" 所在索引位置?# l.请输出name变量对应的值中 "e" 所在索引位置?name = " aleX "
print(name.find('e'))
运⾏结果:3
查字符串中的索引位置,我们可以使⽤find()⽅法或者index()⽅法。 这两个⽅法都可以检测字符串中是否包含⼦字符串,并且可以指定检索的开始和结束的索引范围。 但是要注意的是,如果要查的⼦字符串不在原字符串中,find()函数返回-1;但index()函数会报
错“ValueError: substring not found”。 基于此,推荐使⽤find()函数。
# 使⽤enumerate函数
name = " aleX "
for k,v in enumerate(name):
if v == "e":
print("e的索引是: " +str(k))
e的索引是: 3
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论