今天补充几个小知识点
1. 计算1-100之和 不知道大家第一个想到的是不是range(101) 遍历累加 ,我反正是的 _
下面的介绍也许你见过 也许没见 也算是另一种方法吧
```
from functools import reduce
def add(x, y):
return x + y
print(reduce(add, range(1, 101))) # 5050
```
2. 打印列表中元素以元组形式依次相连
```
# -*- coding: utf-8 -*-
list1 = ['a', 'b', 'c', 'd', 'e', 'f']
# 打印列表
for tuple1 in zip(list1[:-1], list1[1:]):
print(tuple1)
```
3. 将列表中的元素2的平方并返回
```
list1 = [1, 2, 3, 4] # 定义一个可迭代对象列表
def add(x):
"""定义一个函数,接收参数并返回参数的平方"""
return x ** 2
for i in map(add, list1"""):
print(i)
```
思考题
```
"""两个变量内存地址相等is返回True"""
a = 257
b = 257
def test1():
c = 257
print("a is c-->", a is cqqq)
test1()
print("a is b-->", a is b)
# ---------------------->
A = 256
B = 256
def test2():
C = 256
print("A is C-->", A is C)
test2()
print("A is B-->", A is B)
##解析:
# is是用来比较a和b是不是指向同一个内存单元
# == 是用来比较a和b指向的内存单元中的值是不是相等
# 小整数对象池的概念:python 为了优化速度,会把[-5,256]之间的数据提前存入小整数对象池
# 程序中只要用到[-5,256]之间的数据不会再重新创建一份,都是指向对象池中的同一份数据
# 除了这个区间之外的数据,每次使用时系统都会重新申请一块内存,用来存储数据
```
网友评论