【Python 牛客刷题笔记】2022/7/30

1 已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的执行结果

a = [1, 2, 3]
b = [1, 2, 4]
print(id(a[1] == id(b[1]))

 

环境:Windows    python 3.9.8    spyder3

python为了提高内存利用效率会对一些简单对象采用重用对象内存的办法
如一些数值较小的int对象,字符串对象等

python中对于小整数对象有一个小整数对象池,范围在[-5, 257)之间
对于这个范围内的整数,不会新建对象,而是直接从小整数对象池中取


 



2 在Python3中,下列程序运行结果为:

strs = ['a', 'ab', 'abc', 'python']
y = filter(lambda s: len(s) > 2, strs)
tmp = list(map(lambda s: s.upper(), y))
print(tmp)

 

2.1 Lambda 表达式

参考文章: Lambda表达式|官方参考文档

# 1 匿名函数只能是单个表达式
# 2. 可以把匿名函数用作传递的实参


2.2 filter(function, iterable)

 

 第一个参数是一个筛选函数
 第二个参数是一个可迭代对象
 返回的是一个生成器类型
 filter()把传入的function依次作用于iterable的每个元素
 满足条件的返回true
 不满足条件的返回false
 通过true还是false决定将该元素丢弃还是保留

2.3 map(function, iterable)


 



3 在Python3中,字符串的变换结果为:

参考文章:Python3 replace()方法 | 菜鸟教程

strs = 'I like python and java'
print(strs.replace('I', 'Your'))
print(strs.replace('a', '*', 2))

 

3.1 字符串的replace方法

str.replace(old: str, new: str, count: int=...)

''' 参数说明
old: str -- 将要替换的子字符串
new: str -- 新的字符串,用来替换materials
count: int=... -- 可选参数,设置替换次数
'''




4 在Python3中,下列程序运行结果为:

tmp = [1, 2, 3, 4, 5, 6]
print(tmp[5::-2])

 

4.1 列表的切片

# 使用负数索引值截取
lists = ['Vitamin', 'Apple', 'Zero Two', 'Python']
print(lists[-1])

 

# 使用方括号的形式截取字符串
nums = [i for i in range(10, 101, 10)]
print(nums)
print(nums[-5: -1])


 



5 What gets printed?()

参考文章: python中的r_云浩舟的博客-CSDN博客_python r

print(r"\nwoow")
print("\nwoow")

 

 

'\'是转义符
r会使字符串中的'\'失效, '\'不在具有转义的作用


在上述实例中, 目的是为了完整的输出
\nwoow
若没有r, 则会输出

woow



6 下面代码运行后,a、b、c、d四个变量的值

参考文章:深复制与浅复制_疯狂的生长的博客-CSDN博客_深复制和浅复制

import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('c')

 

# 浅拷贝
c = copy.copy(a) // 只会拷贝父对象,不会拷贝子对象
# 深拷贝
d = copy.deepcopy(a) // 完全复制a的值,完全与a无关,对a的任何操作都无法影响d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维他命C++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值