List、Numpy、Tensor操作基础

要想代码写的顺手, l i s t 、 n u m p y 、 t e n s o r 的操作一定要烂熟于心 要想代码写的顺手,list、numpy、tensor的操作一定要烂熟于心 要想代码写的顺手,listnumpytensor的操作一定要烂熟于心

一、list列表

1.1 list创建

list 是Python中最基本的数据结构。序列中的每个元素都分配一个数字(它的位置index),与字符串的索引一样,列表索引从0开始。列表可以进行索引,切片,加,乘,检查成员,截取、组合等。在[]内用逗号分隔开任意类型的值,可以实现索引存取。

  • 直接创建
l = [1,2,3,4,5]
l[0] = 10
print(l[0])

10

  • 列表生成式
l = [e for e in range(10)]
print(l)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1.1 list内置方法

  • 切片[start (开始),stop (停止),step(步长)]:列表切片的方向取决于起始索引、结束索引以及步长,当起始索引在结束索引右边是就是从右往左取值,同理反之。当步长为负数时从start开始索引至stop,起点必须大于终点。
a[:]           # a copy of the whole array
a[start:]      # items start through the rest of the array
a[:stop]       # items from the beginning through stop-1
a[start:stop]  # items start through stop-1
a[start:stop:step] # start through not past stop, by stepa[-1]    # last item in the array
a[-2:]   # last two items in the array
a[:-2]   # every items except the last two itemsa[::-1]    # all items in the array, reversed
a[1::-1]   # the first two items, reversed
a[:-3:-1]  # the last two items, reversed
a[-3::-1]  # every items except the last two items, reversed
  • 索引存取[idx]正向取值+反向取值,即可存也可以取list[idx]
L = ['Google', 'Runoob', 'Taobao']
print(L[0], L[-1])  # 读取列表第一个和倒数第一个元素

Google Taobao

  • 拼接++号 用于拼接列表。
l = [1,2,3] + [4,5,6]
print(l)

[1, 2, 3, 4, 5, 6]

  • 重复* :*号 用于重复列表。
l2 = [1]*5
print(l2)

[1, 1, 1, 1, 1]

  • 长度len():列表元素个数len(list)
l = [1,2,3,4,5,6]
print(len(l))
  • 成员运算in和not in:判断某元素十否在list中, e in list
l = [1,2,3,4,5,6]
print(3 in l)
print(6 not in l)

True
False

  • 按下标删除del:按照下标idx 使用 del 语句来删除列表的元素,del list[idx]
l = [1,2,3,4,5,6]
del l[0]
print(l)

[2, 3, 4, 5, 6]

  • 插入insert():对任意位置idx插入元素list.insert(idx,e)
l = [1,2,4]
l.insert(2,3)
print(l)

[1, 2, 3, 4]

  • 追加值append():在列表末尾添加新的对象,list.append(e)
l = [1,2,3,4,5,6]
l.append(7)
print(l)

[1, 2, 3, 4, 5, 6, 7]

  • 弹栈pop()list.pop()默认删除最后一个元素
l = [1,2,3,4]
l.pop()
print(l)

[1, 2, 3]

  • 按值删除remove():从左向右顺序遍历,删除第一个找到的对应值的元素list.remove(e)
l = [1,2,3,3,3]
l.remove(3)
print(l)

[1, 2, 3, 3]

  • 清空clear():清空list内所有元素,list.clear()
l = [1,2,3,3,3]
l.clear()
print(l)

[]

  • 反转reverse():反转列表list.reverse()
l = [1,2,3,4,5]
l.reverse()
print(l)

[5, 4, 3, 2, 1]

  • 排序sort():可以降序或升序排序,list.sort(reverse=Ture/False)
l = [1,2,3,4,5]
l.sort(reverse=True)
print(l)

[5, 4, 3, 2, 1]

  • 查找index():查找对应元素的下标(顺序查找第一个),list.index(e)
l = [1,2,3,3,3]
print(l.index(3))

2

  • 统计个数count():统计对应元素出现次数list.count(e)
l = [1,2,3,3,3]
print(l.count(3))

3

二、numpy矩阵

2.1 创建numpy.ndarray

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

  • 直接创建numpy.array()object 是list对象,dtype(可选)数组元素的数据类,copy(可选)对象是否需要复制,order(默认A)创建数组的样式,C为行方向,F为列方向,A为任意方向,subok 默认返回一个与基类类型一致的数组,ndmin 指定生成数组的最小维度
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
n = np.array([[1,2,3],[4,5,6]])
print(n)

[[1 2 3]
[4 5 6]]

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

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

相关文章

WPF实战学习笔记20-设置首页启动页

文章目录 设置首页启动页增加配置接口添加接口文件:实现接口 配置启动选项 设置首页启动页 增加配置接口 添加接口文件: Mytodo.Common/IConfigureInterface.cs using System; using System.Collections.Generic; using System.Linq; using System.T…

k8s 将pod节点上的文件拷贝到本地

要将 Kubernetes&#xff08;k8s&#xff09;中 Pod 节点上的文件拷贝到本地&#xff0c;可以通过使用 kubectl cp 命令来实现。kubectl cp 命令允许你在本地系统和 Pod 之间复制文件和目录。 下面是使用 kubectl cp 命令的语法&#xff1a; kubectl cp <namespace>/&l…

Linux centos7.x系统 下没有ens33 网卡的解决方案

一、背景 安装完windows11 Centos7.9 版本的双系统之后 , 启动Centos7.9时发现没有网卡信息 , 只有ifcfg-lo网卡的信息 , 这个时候就证明没有网卡信息&#xff0c;或者网卡驱动不匹配(我这里是没有网卡)&#xff0c;所以我们要重新安装 , 安装步骤如下 : 二、安装步骤 1.查…

Android各版本号发布日期及详细更新内容

版本号发布日期版本名称API Level更新内容Android 1.02008年9月23日初始版本初始版本&#xff0c;提供基本的手机功能和应用程序。Android 1.52009年4月30日Cupcake添加了文本输入方法&#xff08;包括虚拟键盘&#xff09;和语音搜索。 改进了网络和蓝牙功能。Android 1.62009…

PHP 药店管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 药品管理系统 是一套完善的web设计系统,系统采用smarty框架进行开发设计&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 药店管理系统mysql数据库web结构apache计 下载地址…

开发一个简单的数据库路由进行分库分表

今天我们来看看一个简单的数据库路由组件要怎么开发出来&#xff0c;这篇文章分为几个步骤进行介绍&#xff0c;分别为&#xff1a; 什么是数据库路由 路由组件的作用为什么要自研组件需要用到什么技术 整体的业务流程主要代码 介绍 数据库路由的作用 使用数据库路由是在业…

超越想象的GPT医疗 20230723

7月份读完了这本书&#xff0c;趁着周末写下读书笔记吧 这本书 作者&#xff1a;【美】彼得.李 Peter Lee 【美】凯丽.戈德伯格CareyGoldberg 著 【美】伊萨克.科恩Isaac Kohane 芦义 译 在AI风起云涌时代&#xff0c;在这刚刚过去的新冠三年&#xff0c;“超越想象的GPT医…

产品解读|有了JMeter,为什么还需要MeterSphere?

提起JMeter&#xff0c;相信大部分的测试人员应该都很熟悉。JMeter因其小巧轻量、开源&#xff0c;加上支持多种协议的接口和性能测试&#xff0c;在测试领域拥有广泛的用户群体。一方面&#xff0c;测试人员会将其安装在个人的PC上&#xff0c;用以满足日常测试工作的需要&…

【SpringCloud Alibaba】(一)微服务介绍

此专栏内容皆来自于【冰河】的《SpringCloud Alibaba 实战》文档。 1. 专栏介绍 我们先来看看《SpringCloud Alibaba实战》专栏的整体结构吧&#xff0c;先上图 从上图&#xff0c;大家可以看到&#xff0c;专栏从整体上分为十个大的篇章&#xff0c;分别为 专栏设计、微服务…

Android源码中添加自己的Product

这里假设我们的公司名叫果冻&#xff08;Jelly&#xff09;&#xff0c;我们准备开发一款对标苹果 14 的手机&#xff0c;取名叫 大米14&#xff08;Rice14&#xff09;。 接下来我们在源码中添加我们自己的产品&#xff08;Product&#xff09; 在 device 目录下添加如下的目…

Mybatis基于注解与XML开发

文章目录 1 关于SpringBoot2 关于MyBatis2.1 MyBatis概述2.2 MyBatis核心思想2.3 MyBatis使用流程3 MyBatis配置SQL方式3.1 基于注解方式3.1.1 说明3.1.2 使用流程3.1.3 常用注解 3.2 基于XML方式3.2.1 相比注解优势3.2.2 使用流程3.2.3 常用标签 1 关于SpringBoot SpringBoot…

Java中List与数组之间的相互转换

一、List列表与对象数组 List列表中存储对象&#xff0c;如List<Integer>、List<String>、List<Person>&#xff0c;对象数组中同样存储相应的对象&#xff0c;如Integer[]、String[]、Person[]&#xff0c;对象数组与对象List的转换可通过如下方式实现&…

【Git】

学习来自于&#xff1a; 女朋友乱用Git&#xff0c;差点把我代码删了。。。 一些常用的Git 知识点整理 关于Git这一篇就够了 Git基本命令大全 30分钟精通Git&#xff0c;学不会来找我 Git 版本管理 | 莫烦PYTHON Git 代码版本管理教程 文章目录 【前言】集中式与分布式的…

Jmeter配置起来太繁琐?试试RunnerGo

在用jmeter做性能测试时想看完整一点的测试报告&#xff0c;想配置阶梯模式来压测&#xff0c;想配置不同的接口并发这些都需要安装插件并且影响机器性能&#xff0c;想做自动化测试还得放到jenkins&#xff0c;这些配置起来太繁琐。今天给大家推荐一款测试平台RunnerGo&#x…

听力词汇笔记(6级)

2022年9月六级 1.personality traits:人格特征 2.all of this notwithstanding:尽管如此 3.come under&#xff1a;受到 4.scrutiny&#xff1a;关注 5.highly responsive to:对....高度敏感 6.preteen year:青春期前 7.susceptible to:受....影响 8.take sharp preced…

网络安全 Day21-数据库知识

数据库知识 1. 什么是数据库2. 为什么需要数据库&#xff08;分类不清晰&#xff09;3. 数据库的种类3.1 关系型数据库3.2 NOSQL 数据库3.3 new sql &#xff08;国产数据库&#xff09;分布式数据库3.4 云数据库 4. mysql 关系型数据库5. 安装mariadb6. 为mariadb设置密码7. M…

【Redis】高级篇: 一篇文章讲清楚Redis的单线程和多线程

目录 面试题 Redis到底是多线程还是单线程&#xff1f; 简单回答 详解 Redis的“单线程” Redis为什么选择单线程&#xff1f; 后来Redis为什么又逐渐加入了多线程特性&#xff1f; Redis为什么快&#xff1f; 回答 IO多路复用 Unix网络编程的5种IO模型 主线程和IO…

【100天精通python】Day9:数据结构_字典、集合

目录 目录 1 字典 1.1 字典的基本操作示例 1.2 字典推导式 2 集合 2.1 集合的常用操作示例 3 列表、元组、字典、集合的区别 1 字典 在Python中&#xff0c;字典&#xff08;Dictionary&#xff09;是一种无序的数据结构&#xff0c;用于存储键值对的集合。每个…

【算法题】2779. 数组的最大美丽值

题目&#xff1a; 给你一个下标从 0 开始的整数数组 nums 和一个 非负 整数 k 。 在一步操作中&#xff0c;你可以执行下述指令&#xff1a; 在范围 [0, nums.length - 1] 中选择一个 此前没有选过 的下标 i 。 将 nums[i] 替换为范围 [nums[i] - k, nums[i] k] 内的任一整…

华为openGauss数据库入门 - gsql用法

目录 1.1 gsql的语法 1.2 gsql常用选项 1.2.1 最常用的必要选项 1.2.2 -r选项 1.2.3 -E选项 1.2.4 -t选项 1.2.5 -A选项 1.2.6 -v选项 1.2.7 -c选项 1.2.8 -f选项 1.2.9 -q选项 1.3 gsql的元命令 1.3.1 \l命令 1.3.2 \du命令和\dg命令 1.3.3 \db命令 1.3.4 \d…