日常-总结

目录

1.生成器(两种格式)

2.生成器和迭代器的区别

3.高阶函数和匿名函数结合使用:

4.对列表进行求和操作(使用高阶函数和sum函数)

5.使用PIL库将数据打印到图片上

6.将数据输出成csv格式

7.找到计算机自带的所有字体格式

8.获取时间戳

9.python中小数保留个数

10.将列表转还成字符串


1.生成器(两种格式)

        yield:通过使用 yield 关键字,可以将一个函数转换为生成器函数,从而实现按需生成值的功能。生成器函数返回的迭代器对象可通过 next() 方法来获取产生的值。

def title5():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b


b = title5()
for i in range(10):
    print(next(b))

        使用()实现:

list1 = (i for i in range(20))
print()list1
2.生成器和迭代器的区别

        生成器(Generator)是一种特殊的函数,它可以在需要时生成 (yield) 数据,而不是次性计算并返回所有数据。生成器函数使用关键字ield“来定义数据生成的逻辑,每次调用生成器函数时,它会返回一个生成的值,并在下一次调用时从停止的地方继续执行。生成器可以用于处理大型或无限序列,因为它们一次只生成一个值,并且只在需要时进行计算和返回,从而节省内存和提高性能。
        迭代器 (lterator) 是一个对象,用于提供一种顺序访问集合或序列数据的方法。迭代器对象通过实现’__iter__()和_next__)方法来定义。_iter__(方法返回选代器对象本身,并且’__next__方法返回序列中的下一个元素。当没有更多元素可供迭代时,’__next__(方法会引发StopIteration’异常。迭代器可以用于遍历数据集合,次一个元素地访问,而无需提前加载整个序列到内存中。

3.高阶函数和匿名函数结合使用:
#   lst = [[5,8],[5,3],[3,1]]
# 1.对lst元素的第二个元素升序排列输出 
# 2.对lst元素的第二个元素先升序排列,再以第一个元素升序排列输出
# 3.对lst元素的第二个元素降序排列输出
lst = [[5, 8], [5, 3], [3, 1]]
# 一题
head1 = sorted(lst, key=lambda x: x[1])
# print('head1-----', head1)

# 二题
head2 = sorted(lst, key=lambda x: (x[1], x[0]))
print('head2-----', head2)

# 三题
head3 = sorted(lst, key=lambda x: x[1], reverse=True)
# print('head3-----', head3)
4.对列表进行求和操作(使用高阶函数和sum函数)
from functools import reduce

scores = [75, 65, 80, 95, 50]
total = reduce(lambda x, y: x + y, scores)
print(total)

total2 = sum(scores)
print('total2-------', total2)
5.使用PIL库将数据打印到图片上
im = Image.open('img.png')
draw = ImageDraw.Draw(im)
text = str(f"{sorter_exel_start}\n{sorter_exel_end}")
# 设置字体、字体大小等等
font = ImageFont.truetype('simsun.ttc', 20)
# 添加水印
draw.text((0, 50), text, font=font)
im.show()
# 保存图片
im.save('watermark2.jpg')

# font = ImageFont.truetype("simsun.ttc", 40, encoding="unic")  # 设置字体
6.将数据输出成csv格式
# 将文件排名信息写入csv格式文件
time = int(time.time())
path_name = path + r'\test_you_name_' + str(time) + '.csv'

for i, j in df.iterrows():  # 'a' 追加所有数据
    with open(path_name, 'a', encoding="utf-8-sig") as file: # 使用utf-8-sig(这种编码)
        file.write(j[0] + str(j[1]) + '\n')

print('成功')
7.找到计算机自带的所有字体格式
# C:/Windows/Fonts/simsun.ttc
8.获取时间戳
import time
t = time.time()
 print t
# 1436428326.76
print int(t)
# 1436428326
9.python中小数保留个数

方法1

a = 1
b = 3
print(round(a/b,2))
方法2

a = 1
b = 3
print(format(float(a)/float(b), '.2f'))
方法3

a = 1
b = 3
print('%.2f'%(a/b))

10.将列表转还成字符串

使用join():

flexiple = ["Hire", "the", "top", "freelancers"]
 
print(" ".join(flexiple))

使用for循环

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
 
f1 = ""
 
for i in flexiple:
    f1 += str(i)+ " " 
 
print(f1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值