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]*2
    i=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]=8
    list[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])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

科普文:微服务技术栈梳理

概叙 如上两图所示,微服务架构下,需要的组件很多,上面中也并未列全。下面将梳理一下国内微服务架构下,用到的技术栈,仅供参考。 科普文:12种常见的软件架构-CSDN博客 没有最好的架构,只有最适…

应急靶场(2):Windows Server 2022 - Web1

目录 一、攻击者的shell密码 二、攻击者的IP地址 三、攻击者的隐藏账户名称 四、攻击者挖矿程序的矿池域名(仅域名) 五、有实力的可以尝试着修复漏洞 下载好靶场(前来挑战!应急响应靶机训练-Web1)并搭建好环境,无需密码直接进入靶…

C#可空类型与数组

文章目录 可空类型NULL合并运算符(??)数组数组声明数组初始化数组赋值数组访问多维数组交错数组数组类数组类的常用属性数组类的常用方法 可空类型 C#提供了一种特殊的数据类型,nullable类型(可空类型),可…

“钧瓷婆罗门”是许昌“钧瓷产业黑洞”已成行业共识

大禹智库 第100期(总第431期) 2024年7月14日 近年来,许昌市钧瓷产业作为我市乃至全国的文化瑰宝,其独特魅力与精湛技艺赢得了广泛赞誉。《许昌市钧瓷文化保护和发展条例》也将于今年10月1日正式实施,然而&#xff0c…

进销存管理系统设计

进销存管理系统(Inventory Management System,简称IMS)是一种帮助企业有效管理商品的入库、出库及库存情况的信息系统。良好的进销存管理系统能够提升库存周转率、减少库存成本、提高订单处理效率,从而增强企业的市场竞争力。以下…

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

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

Java核心篇之JVM探秘:内存模型与管理初探

系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…

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

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

安防监控视频平台LntonCVS视频融合共享平台智慧消防实现远程集中视频监控方案

近年来,电力系统内变电站着火事件频发,这对消防安全管理提出了严峻挑战。我国消防安全基础设施不完善、管理机制不健全、应急处置能力不足及公众消防安全意识淡薄等问题,严重制约了消防安全的提升。因此,加强变电站的消防安全管理…

【Linux 文件读写描述符重定向 Linux 一切皆文件缓冲区】

文章目录 一、文件的读写操作二、文件描述符三、文件重定向四、理解 Linux 一切皆文件五、文件缓冲区 一、文件的读写操作 文件内容属性 当文件没有被操作的时候,一般文件还是在磁盘当中 文件操作文件内容的操作文件属性的操作,文件操作有可能即改变内容…

最新版智能修图-中文luminar ai 1.55(13797) 和 neo1.20,支持m芯片和intel芯片(绝对可用)

Luminar AI for macOS 完整版本 这个程序是第一个完全由人工智能驱动的图像编辑器。有了它,创建引人注目的照片是有趣的,令人惊讶的容易。它是一个独立的照片编辑器和macOS插件。 Luminar AI for macOS 轻轻地塑造和完善一个肖像打造富有表现力的眼睛…

Arduino PID整定

Arduino PID整定 Tuning an Arduino PID Introduction to Tuning an Arduino PID 例如,我们可能想把一箱水加热到华氏 100 度。 我们需要能够在不同的条件下实现这一目标,例如房间的环境(周围)温度。 此外,我们可能会…

WPF学习(6) -- WPF命令和通知

一 、WPF命令 1.ICommand代码 创建一个文件夹和文件 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input;namespace 学习.Command {public class MyCommand : ICommand{Acti…

无损音乐播放器推荐:Audirvana for Mac 中文激活版

udirvana 是一款高品质的音乐播放软件,专为Mac操作系统设计。它被设计来提供音频播放的最高标准,支持多种音频格式,包括高达32位/192kHz的高分辨率音频。Audirvana Plus 是其高级版本,提供了更多的功能和优化,例如音频…

LabVIEW远程实验数据采集系统

随着科学研究的不断发展,实验室对远程数据采集和监控的需求越来越高。传统的数据采集方式往往需要实验人员亲临现场,费时费力,且数据实时性较差。为了解决这些问题,基于LabVIEW开发了一套远程实验数据采集系统,实现对实…

【深度学习入门篇 ⑤ 】PyTorch网络模型创建

【🍊易编橙:一个帮助编程小伙伴少走弯路的终身成长社群🍊】 大家好,我是小森( ﹡ˆoˆ﹡ ) ! 易编橙终身成长社群创始团队嘉宾,橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官…

0/1背包

0/1背包 背包问题是DP最经典的类型之一,而0/1背包是最经典最基础的背包问题。 一个背包体积为 v v v,现有 n n n种物品,第 i i i个物品对应体积为 c i c_i ci​,价值为 w i w_i wi​,每件物品最多可放1次,…

初识影刀:EXCEL根据部门筛选低值易耗品

第一次知道这个办公自动化的软件还是在招聘网站上,了解之后发现对于办公中重复性的工作还是挺有帮助的,特别是那些操作非EXCEL的重复性工作,当然用在EXCEL上更加方便,有些操作比写VBA便捷。 下面就是一个了解基本操作后&#xff…

如何追踪ping连接中的所有路由器的数量和IP

如何快速判断ping连接经过的路由器个数和IP? 方法一: ping命令会返回一个TTL,TTL(Time To Live)存活时间,一般初始值为64,每经过一个路由器就减一,当TTL为0时丢弃网络包&#xff0…

【深度学习】PyTorch深度学习笔记01-Overview

参考学习:B站视频【《PyTorch深度学习实践》完结合集】-刘二大人 ------------------------------------------------------------------------------------------------------- 1. 基于规则的深度学习 2. 经典的机器学习——手动提取一些简单的特征 3. 表示学习…