首页 > 编程知识 正文

python怎么编程,pytorch detach

时间:2023-05-05 08:26:00 阅读:179021 作者:2734

将名称映射到序列元素。 包含以下标形式访问列表和元组元素的代码,但代码可能会变得难以阅读。 因此,我想用名字访问元素。

collections.namedtuple ()函数通过使用普通元组对象来解决此问题。 此函数实际上是返回Python标准元组类型子类的工厂方法。 必须传递类型名称和所需的字段。 然后,将返回类。 可以初始化此类,也可以将值等传递给定义的字段。 代码示例:

fromcollectionsimportnamedtuplesubscriber=named tuple (subscriber ),['addr ',' joined ' ] (sub=subscriber ) ) joned ' 2012-10-19 ' ) print(sub ) print(sub ) sub.addr ) namedtuple的实例看起来像一个普通的类实例,但它可以与元组类型兼容,并且包括索引和解压缩等所有类型例如:

print(len ) sub ) ) addr,joined=subprint ) addr,joined )命名元组的一个主要用途是将您的代码从下标操作中释放出来。 因此,如果从数据库调用中返回一个大元组列表,并使用下标对其中的元素进行操作,则在现代吐司向表中添加新列时可能会出现代码错误。 但是,如果使用命名元组,则没有这种担心。 为了便于说明,以下是使用普通元组的代码:

defcompute_cost(records ) : total=0.0 forrecinrecords : total=rec [1] * rec [2] return total的下标操作通常表示代码表的含义

Stock=namedtuple('Stock”,['name”,“shares”,“price”) : total=0.0。 但是,请注意,不能像在字典中那样更改命名元组。 例如:

s=stock(acme ),100,123.45 ) print(s ) s ) # s.shares=75如果需要更改后续属性,请将replace (替换)方法命名元组实例例如:

s=s.__replace(shares=75 )打印(s ) replace ) )方法包括在现代吐司的命名元组中有选项或缺少字段的情况下用非常大的字段来填充数据的步骤您可以先创建包含默认值的原型元组,然后使用replace ()方法创建具有更新值的实例。 例如:

Stock1=namedtuple('Stock ',['name ',' shares ',' price ',' date ',' time']stock_prototype=stock1)。 None ) defdict_to_stock(s ) : return stock _ prototype._ replace (* * s ) a={'name': 'ACME ', (“Shaame”) ) ) ) 65 ' price ' 3360123.45 } print (dict _ to _ stock (a ) ) b={'name': 'ACME ',' sssse ) ' date ' : ' 12/17/2012 ' }打印(dict _ to _ stock (b ) )最后要说的是,目标是定义需要更新许多实例属性的高效数据结构此时,请考虑定义包含slots方法的类。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。