首页 > 编程语言 >python_August(迭代器、生成式)

python_August(迭代器、生成式)

时间:2024-09-05 18:04:48浏览次数:8  
标签:__ August 迭代 python 生成式 iter dict print hobby

目录

迭代器

可迭代对象: 只要拥有iter方法的对象就是可迭代对象,下面的除了前两个,从字符串开始都是可迭代对象

height = 180	#整型
salary = 3.2	#浮点型
name = 'nick'	#字符串
hobby_list1 = ['run','read']	#列表
hobby_tup = ('run','read')		#元组
info_dict1 = {'name':'nick','weight':140}	#字典
hobby_set = {'read','run','run'}	#集合

在后面加点,然后打一个iter再按Tab键就能出来_iter_

列表使用iter

hobby_list = ['run','read']
hobby_list_iter = hobby_list.__iter__()  #把列表变成可迭代对象

print(hobby_list_iter.__next__())	##输出run
print(hobby_list_iter.__next__())	##输出read
##再多输出一行就会报错

字典使用iter

info_dict = {'name':'nick','weight':140}
info_dict_iter = info_dict.__iter__()

print(info_dict_iter.__next__())	##输出name
print(info_dict_iter.__next__())	##输出weight
###改成value就会是nick、140

迭代器对象:拥有__iter__方法——>可迭代对象拥有__next__方法的才是迭代器对象,文件本身就是迭代器对象

  • 先加iter变成迭代器对象,再加next变成迭代器

下面这个就是使用迭代器后,就不用使用for进行for i in xx给他列出

# 这一段代码如果用c写,就是for循环的原理
hobby_list2 = ['run','read']
hobby_list2_iter = hobby_list2.__iter__()
while True:
    try:
        print(hobby_list2_iter.__next__())
    except:
        break


三元表达式

dog_name = 'fenggou'
#  不推荐使用,你以后写程序,程序是越容易看懂越好,而不是写成一行,让别人说你是傻逼
print('远离他') if dog_name == 'fenggou' else print('盘他')

列表推导式

 [i*2 for i in range(100)]
print(lis)	###输出0~198(而且是偶数)

# 千万不要写这样的东西,否则真的会被骂傻逼
lis1 = [i * 2 if i > 50 else i for i in range(100)]
print(lis1)	###输出前五十一个是0到50,其余是两倍

字典生成器

dic= dict.fromkeys([1,2,3,4],2)###有关fromkeys的使用忘了可以再看看
print(dic2)

keys = ['L','Y','M']
default_value = []
dic1 = dict.fromkeys(keys,default_value)###default_value的东西每个key拿到的一样
print(dic1)
default_value.append(1000)
print(dic1)

dic2 = {i:i**2 for i in range(10)}
print(dic)

#####分别输出
{1: 2, 2: 2, 3: 2, 4: 2}
{'L': [], 'Y': [], 'M': []}
{'L': ['1000'], 'Y': ['1000'], 'M': ['1000']}
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

拉链函数

# 拉链函数
res = zip('abcd',[1,2,3,4])
print(res)  ##输出<zip object at 0x000002575EFAA040>
dic = dict()  #先定义一个空字典
for k,v in res:
    dic[k] = v  #res指向值放进去
print(dic)
####一个式子把上面的写完
print({k:v for k,v in zip('abcd',[1,2,3,4])})

标签:__,August,迭代,python,生成式,iter,dict,print,hobby
From: https://www.cnblogs.com/yyds703/p/18398969

相关文章

  • 再也不怕深夜emo的时候没会员了,无敌Python只需20行代码,轻松爬取网易云排行榜热门音乐!
    再也不怕深夜emo的时候没会员了,无敌Python只需20行代码,轻松爬取网易云排行榜热门音乐!让我们直接开始本次操作吧!importrandomimporttimeimportexecjsimportrequestsimportre"""发送请求:模拟浏览器对于url地址发送请求"""#模拟浏览器headers={'User-Agent'......
  • 20240905_154516 python 填空题 字符串方法2
    有字符串列表li=["a","b","c"],让列表成员用+拼接,保存给变量rr="+".join(li)有字符串s,把它的内容变成小写,保存给变量rr=s.lower()有字符串s,把它内部的java全替换为python,保存结果给变量rr=s.replace("java","python")有字符串s="abc",请把它按空符号进行分割,得......
  • SVI pyro 随机变分推理的提示和技巧 ,贝叶斯神经网络 bnn pytorch python
    SVI第四部分:提示和技巧¶pyro.ai/examples/svi_part_iv.html导致这一个的三个SVI教程(第一部分, 第二部分,& 第三部分)通过使用Pyro做变分推断所涉及的各个步骤。在这个过程中,我们定义了模型和指南(即,变分分布),设置了变分目标(特别是埃尔博斯),以及构造的优化器(pyro.opti......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校知识共享系统等问题,对高校知识共享系统进行研究分析,然后开发设计出高校知识共享系统以......
  • python+flask实现用户登录界面
    简介        用户输入用户名和密码,此时系统进行核对,如果输入错误,则进行提示;否则登录系统功能界面。前端界面设计,登录界面的示例如下:1)实现前端设计,命名为login.html,前端代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><titl......
  • 基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
    随着电子商务和物流行业的蓬勃发展,自动化处理客户提供的收货信息变得尤为重要。在用户下单时,通常需要输入姓名、电话、地址等信息,但由于输入格式不统一,手动处理这些数据十分繁琐且容易出错。因此,利用Python自动解析用户输入的地址信息,提取姓名、电话、详细地址和省市区成为了许多......
  • 基于SA-BP模拟退火算法优化BP神经网络实现数据预测Python实现
        在数据分析和机器学习领域,时间序列预测和多输入单输出系统的预测是重要且复杂的问题。传统的BP(反向传播)神经网络虽然具有强大的非线性函数逼近能力,但在处理这些问题时容易陷入局部极小值、训练速度慢以及过拟合等问题。为了克服这些不足,我们引入了SA-BP(模拟退火算法......
  • Biome-BGC生态系统模型与Python融合技术实践应用
    Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数,模拟日尺度碳、水和氮通量的有效模型,其研究的空间尺度可以从点尺度扩展到陆地生态系统。在Biome-BGC模型中,对于碳的生物量积累,采用光合酶促反应机理模型计算出每天的初级生产力(GPP),将生长呼吸和维持呼吸减去后的产物......
  • Python详细安装教程:基于Windows系统(配有图文)
    1.在官网上安装你想安装的版本 官网地址:https://www.python.org/点击选择Windows(笔者的电脑的是windows11)如果你的电脑是win7或XP系统,则需要下载老一点的版本。这里是最新版本的稳定版本,你可以选择下载,也可以选择下载老一点的版本。点击DowdloadWindowsinstaller(64-b......
  • python电梯厂企业固定资产管理系统excel数据导入 9327d
    目录博主介绍技术栈......