python机器学习5 数据容器

Python中有几个数据容器如下:

· List,数组,如同Array数组。

· Dictionarie,字典,可以通过文字来访问数据。

· Sets,序列集,做数学交集、并集等计算时使用。

· Tuple,序列,类似Dictionarie,但是预定义方式不同。

1.List数组

 

list=[3,1,2]
print(list)
print(list[2])# %%
list=[3,1,2]
print(list[-1])# %%
list=[3,1,2]
list[2]='hello'
print(list)# %%
list=[3,1,2]
list.append("nihao")
print(list)# %%
list=[3,1,2]
x=list.pop()
print(list)
print(x)# %%
list=[3,1,2]
list.remove(2)
print(list)
list=list*2
print(list)
list=list+[4,5,6]
print(list)
list.extend([7,8])
print(list)# %%
list=[3,1,2]
list.insert(2,3)
print(list)
list.sort()
print(list)
list.reverse()
print(list)
print(list.count(2))
print(len(list))
print(1 in list)# %%
list=[[1,2],[3,4]]
print(list)
print(list[1][1])# %%
list=["apple",[8,4,6]
print(list)
print(list[1][1])# %%
list=[1,2,3,4]
i=0
for x in list:list[i]=list[i]*2i=i+1
print(list)# %%
list=[1,2,3,4]
list=[x*2 for x in li
print(list)# %%
list=[59,60,70,80]
list=[x**2 for x in l
print(list)# %%
list=[20,30,50,80]
list=[x for x in list
print(list)

 

2.Slicing切片

Python还提供了简洁的语法来访问子列表,被称为切片(Slicing)。这个内容非常重要,后面数据处理的章节中,大多都是用这个方法切割出要用的有效数组数据。

假设list1的数据为[0,1,2,3,4],在这个程序中的切割方法如下:

· list1[0:2],取出list1[0]和list1[1]的数据,也就是输出[0,1]。

· list1[1:],取出list1[0]后的所有数据,也就是输出[1,2,3,4]。

· list1[:3],取出list1[3]之前的所有数据,也就是输出[0,1,2]。

· list1[:-2],“-2”指取出从后面算起的第2个数据,list1[:-2]也就是同list1[:3],取出第0个到倒数    第2个之间的数据,即输出[0,1,2]。

· list1[-2:],也就是同list1[3:],所以取出第3个到倒数第2个之间的数据,即输出[3,4]

list=[1,2,3,4]
print(list[2:4])
print(list[2:])
print(list[:2])
try:list[2:4]=[8,9]
except:list[2]=8list[3]=9
print(list)

 

3.Dictionarie字典

Dictionarie字典通过(key,value)的数据模式来预定义每一个数据,并通过逗号来区分每一个数组,比如d={'cat':'cute','dog':'love'}就是创建两组数据。

· 第0个数组key是cat,value是cute。

· 第1个数组key是dog,value是love。

d={'cat':'cute','dog':'love'}
print(d['cat'])
print('cat' in d)# %%
d={'cat':'cute','dog':'love'}
d['fish']='wet'
print(d['fish'])
print(d.get('monkey','N/A'))
del(d['fish'])
print(d.get('fish','N/A'))# %%
d={'person':2,'dog':4,'spider':8}
for animal in d: legs=d[animal]print('A %s has % d legs'% (animal ,legs))

4.Set序列集集合比较

Set序列集可以用于数学集合论的集合比较,做出交集、并集、差集的运算。

A={1,2,3,4,5}
B={4,5,6,7,8}
print(A-B)
print(A&B)
print(A|B)
print(A.union(B))# %%
A={1,2,3,4,5}
B={4,5,6,7,8}
A.discard(2)
print(A)
A.remove(4)
print(A)
A.add(4)
print(A)
A.update({2,3,4})
print(A)

5.Tuple序列

Tuple是序列,就像List数组一样,不同的是,Tuple元组使用大括号{},而List列表使用方括号[]。

创建一个元组与放置不同的逗号分隔值一样简单,也可以将这些以逗号分隔的值放在圆括号之中。

Tuple序列是一个列表,数据长度是不可变的。Tuple在很多方面与列表类似,最主要的差异:Tuple可以用作Dictionary字典中的键和集合的元素,而List列表则不能。

d={(x,x+1): x for x in range(3)}
print(d)
t=(1,2)
print(t)
print(type(t))
print(d[t])
print(d[1,2])

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

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

相关文章

Elasticsearch-多边形范围查询(8.x)

目录 一、字段设计 二、数据录入 三、查询语句 四、Java代码实现 开发版本详见:Elasticsearch-经纬度查询(8.x-半径查询)_es经纬度范围查询-CSDN博客 一、字段设计 PUT /aoi_points {"mappings": {"properties": {"location": {…

redis 夺命21问

1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。…

回归求助 教程分享

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 217/10000 抱个拳,送个礼 更多内容,见微*公号往期文章:通透!!十大回…

NFT如何解决音乐版权的问题

音乐版权问题一直困扰着音乐产业。传统的音乐版权管理模式存在以下问题。需要注意的是,NFT在音乐版权领域仍处于早期发展阶段,存在一些需要解决的问题,例如技术标准不统一、应用场景有限、法律法规不明朗等。但随着技术的进步和市场的完善&am…

小程序自学教程

从0开始搭建微信小程序前后台 0、准备 如何安装?去CSDN搜索“xxx安装教程”即可。 (1)工具 IntelliJ IDEA(必选)——Java开发集成环境,可以前后端同时使用 Web Storm——web开发集成环境,主要…

【Dison夏令营 Day 18】如何用 Python 中的 Pygame 制作国际象棋游戏

对于 Python 中级程序员来说,国际象棋游戏是一个很酷的项目创意。在熟练使用类的同时,它也是制作图形用户界面应用程序的良好练习。在本教程中,您将学习到 使用 pygame 的基础知识。 学习如何使用 Python 类编码一个国际象棋游戏。 安装和设…

Mybatis防止SQL注入

防止SQL注入的中心思想就是参数化查询,将输入当作参数传递,而不是直接拼接到 SQL 语句中。 常见的防止SQL注入的方式 1、使用#{}占位符 2、使用动态SQL 3、[配置 SQL 注入过滤器](#配置 SQL 注入过滤器) 使用#{}占位符 先来看一个错误的示范${} /…

PostgreSQL的pg_dirtyread工具

PostgreSQL的pg_dirtyread工具 pg_dirtyread 是一个第三方PostgreSQL扩展,它允许用户读取数据库文件中的“脏”数据,即那些被标记为删除或不再可见的数据。这个扩展对于数据恢复和调试非常有用,尤其是在需要恢复被删除或更新前的数据时。 以…

33.异步FIFO IP核的配置、调用与仿真

(1)异步FIFO的配置过程: ps:异步fifo相比较同步fifo少一个实际深度 (2)异步FIFO的调用: module dcfifo (input wr_clk ,input rd_clk ,input [7:0] …

2024-07-13 Unity AI状态机2 —— 项目介绍

文章目录 1 项目介绍2 模块介绍2.1 BaseState2.2 ...State2.2.1 PatrolState2.2.2 ChaseState / AttackState / BackState 2.3 StateMachine2.4 Monster 3 其他功能4 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 ​ 本项目使用 Unity 2…

金融业务系统云原生技术转型:从传统架构到云原生的跨越

引言 在数字化浪潮的推动下,金融行业正经历着前所未有的变革。云计算作为这场变革的核心技术之一,正在重塑金融机构的IT架构。云原生技术以其敏捷性、弹性和可扩展性,为金融业务提供了强大的技术支撑,使得金融机构能够快速响应市…

大话设计模式

设计模式 专栏概览 参考《大话设计模式》,进行深入分析理解;使用C实现,然后C采取OOP仿照实现;C不是不能OOP,只是底层支持没那么好,所以C代码部分只是推荐参考;关于C的OOP推荐书籍:周立功的《嵌…

防火墙NAT和智能选路实验详解(华为)

目录 实验概述实验拓扑实验要求要求一要求二要求三要求四要求五 实验概述 从我上面一个博客能够了解到NAT和防火墙选路原理 ——>防火墙nat和智能选路,这一章我通过实验来详解防火墙关于nat和智能选路从而能熟练使用和配置防火墙,这里使用的是华为US…

《Cross-Image Pixel Contrasting for Semantic Segmentation》论文解读

期刊:TPAMI 年份:2024 摘要 研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘"局部"上下文,即单个图像中像素之间的依赖关系。然而&…

如何解决数据分析问题:IPython与Pandas结合

如何解决数据分析问题:IPython与Pandas结合 数据分析是现代科学研究、商业决策和技术开发中的一个重要环节。IPython和Pandas是两个强大的工具,它们可以大大简化和加速数据分析的过程。本文将为初学者详细介绍如何结合使用IPython和Pandas来解决数据分析…

Dify中高质量索引模式时,通过线程池处理chunk过程

本文主要介绍了Dify中高质量索引模式时,如何通过线程池执行器来处理chunk的过程。源码位置:dify\api\core\indexing_runner.py\IndexingRunner._load。核心思想:假设一个数据集中有一个文档,该文档可以拆分为12个段(segment)。如果chunk_size=10,那么分为2批提交给线程池…

Mojo语言的运用

1.Mojo语言概述 1.1什么是Mojo语言? Mojo语言是一种现代的动态编程语言,主要用于Web开发。它结合了多种语言的优点,如JavaScript、Perl和Lua,旨在为开发者提供: 简洁的语法:易于学习和使用,适…

Azcopy Sync同步Azure文件共享

Azcopy Sync同步Azure文件共享 一、工作原理二、安装 AzCopy在 Windows 上在 Linux 上 三、资源准备1. 创建源和目标 Azure 存储账户2. 创建源和目标文件共享3. 确定路径4. 生成源和目的存储账户的共享访问签名(SAS)令牌配置权限示例生成的 URL 四、Azco…

【鸿蒙学习笔记】尺寸设置・width・height・size・margin・padding・

官方文档:尺寸设置 目录标题 width:设置组件自身的宽度height:设置组件自身的高度size:设置高宽尺寸margin:设置组件的外边距padding:设置组件的内边距 width:设置组件自身的宽度 参数为Length…

PYTHON自学班车(三)NUMPY

动 array 索引 arrayname[start,end,step]得到的数据范围是[start,end) 可以用array[row][col]来获取指定行、列的值,同时可以用array(row,col)来获取指定行、列的值。 矩阵合并 vstact() 垂直合并 hstac() 横向合并 矩阵拆分