物联网AI MicroPython学习之语法 ucollections集合和容器类型

学物联网,来万物简单IoT物联网!!在这里插入图片描述

ucollections 介绍

ucollections 模块用于创建一个新的容器类型,用于保存各种对象。

接口说明

namedtuple - 创建一个新namedtuple容器类型

  • 函数原型: 创建一个具有特定名称和一组字段的新namedtuple容器类型,namedtuple是元组的子类,允许通过索引来访问它的字段。
  • 函数原型:nt = ucollections.namedtuple(name, fields)
  • 参数说明:
参数类型必选参数?说明
namestr新创建容器的类型名称
fieldstuple新创建容器类型包含子类型的字段
  • 示例:
>>> nt = ucollections.namedtuple("mytuple", ("id", "name")) 
>>> t1 = nt(1, "name1") 
>>> t2 = nt(2, "name2") 
>>> print(t1.name) 
name1

deque - 创建deque双向队列

  • 函数原型:dq = ucollections.deque(iterable, maxlen, [flag])
  • 参数说明:
参数类型必选参数?说明
iterabletuple必须是空元组
maxlenint队列允许的最大长度
flagint默认为0:不检查队列是否溢出,达到最大长度时继续增加会丢弃之前的值;1:当队列达到最大设定长度会抛出IndexError: full的exception
  • 返回值
    deque对象

append - deque队列插入数据

deque.append(data)

  • 参数
参数类型必选参数?说明
data基本数据类型需要添加到队列的数据
  • 返回值

popleft - 从deque的左侧移除并返回移除的数据

deque.popleft()
如果deque为空,会引起索引错误

  • 返回值
    返回移除的数据
  • 示例:
from ucollections import deque 
dq = deque((),5) 
dq.append(1) 
dq.append(["abc"]) 
dq.append("aef") 
dq.popleft()  # 1 
dq.popleft()  # ["abc"] 
dq.popleft()  # aef

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/136257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天津WEB前端培训哪家好?Web机构推荐!

05年以后,互联网已经进入了web2.0时代,同时也标志着网站的前端由此发生了翻天覆地的变化,现在市场上对WEB前端开发工程师岗位有着很大的需求,学习web前端开发的方式有很多种,对于初学者来说,选择自学还是培…

Spring Cloud - 手写 Gateway 源码,实现自定义局部 FilterFactory

目录 一、FilterFactory 分析 1.1、前置知识 1.2、分析源码 1.2.1、整体分析 1.2.2、源码分析 1.3、手写源码 1.3.1、基础框架 1.3.2、实现自定义局部过滤器 1.3.3、加参数的自定义局部过滤器器 一、FilterFactory 分析 1.1、前置知识 前面的学习我们知道&#xff0c…

AI:65-基于机器学习预测股市行情

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

Go基础知识全面总结

文章目录 go基本数据类型bool类型数值型字符字符串 数据类型的转换运算符和表达式1. 算数运算符2.关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符运算符优先级转义符 go基本数据类型 bool类型 布尔型的值只可以是常量 true 或者 false。⼀个简单的例⼦&#…

win10语言切换调整为像win7一样,设置纯英文键盘切换,使用ctrol+shift切换键盘

文章目录 引入键盘布局说明安装美式键盘去掉微软键盘,修改布局切换快捷键最终效果 引入 我们在玩游戏或者写代码的时候,常常需要使用shift键,而输入法的shift键常常是中英切换按键,这就让人非常不爽了,这里仿照在win7…

【Git】快速入门安装及使用git与svn的区别常用命令

一、导言 1、什么是svn? SVN是Subversion的简称,是一个集中式版本控制系统。与Git不同,SVN没有分布式的特性。在SVN中,项目的代码仓库位于服务器上,团队成员通过向服务器提交和获取代码来实现版本控制。SVN记录了每个文…

Android Glide transform旋转rotate圆图CircleCrop,Kotlin

Android Glide transform旋转rotate圆图CircleCrop,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.load…

基于单片机的养殖场温度控制系统设计

博主主页:单片机辅导设计 博主简介:专注单片机技术领域和毕业设计项目。 主要内容:毕业设计、简历模板、学习资料、技术咨询。 文章目录 主要介绍一、控制系统设计二、系统方案设计2.1 系统运行方案设计2.1.1 羊舍环境温度的确定 三、 系统仿…

Leetcode—226.翻转二叉树【简单】

2023每日刷题(二十四) Leetcode—226.翻转二叉树 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …

【解决方案】vue 项目 npm run dev 时报错:‘cross-env‘ 不是内部或外部命令,也不是可运行的程序

报错 cross-env 不是内部或外部命令,也不是可运行的程序 或批处理文件。 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! estate1.0.0 dev: cross-env webpack-dev-server --inline --progress --config build/webpack.dev.conf.js npm ERR! Exit status 1 np…

vue-router路由守卫进阶

vue-router路由守卫进阶 路由守卫,可以想象为古代御前侍卫,路由守卫,则是对路由进行权限控制 分类:全局守卫、独享守卫、组件内守卫 全局前置-路由守卫 作用:主要用来鉴权 用户点击导航区,随后引起路径的…

kubernetes (k8s)的使用

一、kubernetes 简介 谷歌2014年开源的管理工具项目,简化微服务的开发和部署。 提供功能:自愈和自动伸缩、调度和发布、调用链监控、配置管理、Metrics监控、日志监控、弹性和容错、API管理、服务安全等。官网:https://kubernetes.io/zh-cn…

后入能先出,一文搞懂栈

目录 什么是栈数组实现链表实现栈能这么玩总结 什么是栈 栈在我们日常编码中遇到的非常多,很多人对栈的接触可能仅仅局限在 递归使用的栈 和 StackOverflowException,栈是一种后进先出的数据结构(可以想象生化金字塔的牢房和生化角斗场的狗洞)。 栈&…

洛谷P5731 【深基5.习6】蛇形方阵java版题解

import java.util.Arrays; import java.util.Scanner;// 给出一个不大于9的正整数n,输出nn的蛇形方阵。 public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[][] a new int[n][n];int total…

MySQL中表格的自我复制,与复制表格

先创建一个空表,my_tab01 CREATE TABLE my_tab01(id INT ,name VARCHAR(32),sal DOUBLE,job VARCHAR(32),deptno INT); SELECT * FROM my_tab01;准备一张有数据的表格: 将另一张表格的数据插入到my_tab01的表格中: -- 演示如何自我复制 --…

前端项目导入vue和element

1.安装nodejs 下载链接https://cdn.npmmirror.com/binaries/node/v18.18.0/node-v18.18.0-x64.msi 进入cmd 命令行模式 管理员身份运行 输入 (node -v)能看到版本号 npm config set prefix "C:\Program Files\nodejs" 默认路径 npm config…

刚柔相济铸伟业 ——访湖南顺新金属制品科技有限公司董事长张顺新

时代在变,唯初心不改。 精致、谦虚、谨慎、儒雅、温和——他就是张顺新,湖南顺新金属制品科技有限公司、湖南顺新供应链管理有限公司董事长,民建长沙市委常委,民建湖南省环资委副主任,省、市民建企联会常务副会长&…

基于SSM+Vue的随心淘网管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

官方Redis视图化工具Redisinsight

一、下载最新版本的 docker pull redislabs/redisinsight mkdir /data/redisinsight docker run -d -u root -p 8001:8001 -v /etc/localtime:/etc/localtime -v /data/redisinsight:/db --restartunless-stopped redislabs/redisinsight:latest 二、浏览器打开 http://192…

自动化测试(Java+eclipse)教程

webdriver环境配置 1.下载chromedriver到本地(一定要选择和自己浏览器相对应的版本chromedriver下载地址) 2.加入到环境变量path中 webdriver工作原理 创建web自动化测试脚本 1.Maven项目创建 File->New->project->(搜索maven)选择maven pr…