目录
1.生成器(两种格式)
2.生成器和迭代器的区别
3.高阶函数和匿名函数结合使用:
4.对列表进行求和操作(使用高阶函数和sum函数)
5.使用PIL库将数据打印到图片上
6.将数据输出成csv格式
7.找到计算机自带的所有字体格式
8.获取时间戳
9.python中小数保留个数
10.将列表转还成字符串
yield:通过使用 yield
关键字,可以将一个函数转换为生成器函数,从而实现按需生成值的功能。生成器函数返回的迭代器对象可通过 next()
方法来获取产生的值。
def title5():a, b = 0, 1while True:yield aa, b = b, a + bb = title5()
for i in range(10):print(next(b))
使用()实现:
list1 = (i for i in range(20))
print()list1
生成器(Generator)是一种特殊的函数,它可以在需要时生成 (yield) 数据,而不是次性计算并返回所有数据。生成器函数使用关键字ield“来定义数据生成的逻辑,每次调用生成器函数时,它会返回一个生成的值,并在下一次调用时从停止的地方继续执行。生成器可以用于处理大型或无限序列,因为它们一次只生成一个值,并且只在需要时进行计算和返回,从而节省内存和提高性能。
迭代器 (lterator) 是一个对象,用于提供一种顺序访问集合或序列数据的方法。迭代器对象通过实现’__iter__()和_next__)方法来定义。_iter__(方法返回选代器对象本身,并且’__next__方法返回序列中的下一个元素。当没有更多元素可供迭代时,’__next__(方法会引发StopIteration’异常。迭代器可以用于遍历数据集合,次一个元素地访问,而无需提前加载整个序列到内存中。
# 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)
from functools import reducescores = [75, 65, 80, 95, 50]
total = reduce(lambda x, y: x + y, scores)
print(total)total2 = sum(scores)
print('total2-------', total2)
im = Image.open('img.png')
draw = ImageDraw.Draw(im)
text = str(f"{sorter_exel_start}n{sorter_exel_end}")
# 设置字体、字体大小等等
font = uetype(', 20)
# 添加水印
((0, 50), text, font=font)
im.show()
# 保存图片
im.save('watermark2.jpg')# font = uetype(", 40, encoding="unic") # 设置字体
# 将文件排名信息写入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('成功')
# C:/Windows/
import time
t = time.time()print t
# 1436428326.76
print int(t)
# 1436428326
方法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))
使用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)
本文发布于:2024-02-05 09:06:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170728483965176.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |