精华内容
下载资源
问答
  • 在 numpy中,经常需要对数组元素进行添加和删除操作,如使用 append() 函数和 insert() 函数为数组添加元素,或者使用 delete() 函数返回删除了某个轴的子数组的新数组,以及使用 unique() 函数寻找数组内的唯一元素...

    本篇文章从append、 insert、 delete三个函数出发,讲解在numpy数组中如何添加和删除元素。

    在 numpy中,经常需要对数组元素进行添加和删除操作,如使用 append() 函数和 insert() 函数为数组添加元素,或者使用 delete() 函数返回删除了某个轴的子数组的新数组,以及使用 unique() 函数寻找数组内的唯一元素。下面分别介绍这些函数的运用。

    append()函数

    该函数是在数组的末尾添加元素,该函数会返回一个新数组,而原数组不变。使用 append()函 数的方法如下:numpy.append(arr,values,axis)

    对各个参数的说明:参数 arr 表示输入的数组;

    values 表示向 arr 数组添加的元素,values 为数组,values 数组列维度与 arr 数组列维度相同;

    axis 表示沿着水平或竖直方向完成添加操作的轴,axis 取 0 表示沿竖直方向操作,axis 取 1 表示沿水平方向操作。

    如果未提供 axis 值,在添加操作之前输入数组会被展开,values 可以是单元素,也可以是任意数组,将 values 添加到 arr 数组后,该函数会返回一个新数组,而原数组不变。

    append() 函数的示例代码 example1 如下。# -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.array([[1,2,3,4],[5,6,7,8]])

    print('第1个数组arr:',arr)

    print('向arr数组添加元素:')

    print(np.append(arr,[[9,10],[11,12]]))

    print('原数组:',arr)

    print('沿轴 0 添加元素:')

    print(np.append(arr,[[9,10,11,12],[11,11,11,11]], axis=0))

    print('沿轴 1 添加元素:')

    print(np.append(arr,[[9,10],[11,12]], axis=1))

    insert()函数

    该函数在给定索引之前,沿给定轴在输入数组中插入值。该函数会返回一个新数组,原数组不变。使用 insert() 函数的方法如下:numpy.insert(arr,obj,values,axis)

    对各个参数的说明:参数 arr 表示输入的数组;

    obj 表示在其之前插入值的索引;

    values 表示向arr数组插入的值,values值可为单元素或values数组,并且 values 数组行维度与arr数组列维度相同;

    axis 表示沿着水平或竖直方向完成插入操作的轴,axis 取 0 表示沿竖直方向操作,即在 arr 数组行索引位于 obj 的位置处插入 values 值,axis 取 1 表示沿水平方向操作,即在 arr 数组列索引位于 obj 的位置处插入 values 值。

    如果未提供 axis 值,在插入之前输入数组会被展开,values 可以是单个元素,也可以是一维数组,将 values 插入到 obj 的位置处,该函数会返回一个新数组,原数组不变。

    另外,insert() 函数如果传递了 axis 参数,则插入 values 值时,会以广播值数组来配输入数组,即 np.insert(arr,2,[9],axis=0),其中 values 为 [9],arr 是 2 行 4 列数组,由于 axis=0,则插入值的数组列维度与arr数组列维度相同,因此,插入值数组为 1 行 4 列的数组,也就是广播值数组 [9,9,9,9]。

    insert() 函数的示例代码 example2 如下。# -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.array([[1,2,3,4], [5,6,7,8]])

    print('第1个数组arr:',arr)

    print('未传递axis参数。在插入之前输入数组会被展开。')

    print(np.insert(arr,4,[9, 10,11,12]))

    print('传递了axis参数,会以广播值数组来配输入数组。')

    print('沿轴 0 广播:')

    print(np.insert(arr, 2, [9], axis=0)) #插入值是[9,9,9,9]

    print('沿轴 0 插入:')

    print(np.insert(arr, 2, [9,10,11,12], axis=0))

    print('沿轴 1 广播:')

    print(np.insert(arr, 2, [[9],[10]], axis=1))

    print('沿轴 1 插入:')

    print(np.insert(arr, 2, [[9,10],[11,12]], axis=1))

    delete()函数

    该函数返回从输入数组中删除指定子数组的新数组,原数组不变。与 insert() 函数的情况一样,如果未提供轴参数,则输入数组将展开。使用 delete() 函数的方法如下:numpy.delete(arr,obj,axis)

    对各个参数的说明:参数 arr 表示输入的数组;

    obj 是用整数或者整数数组表示的从输入数组中删除的子数组,obj 可以用切片 numpy.s_[start:end:step] 表示要删除的子数组范围;

    axis 表示沿着它删除给定子数组的轴,如果未提供 axis 值,则输入数组会被展开。

    delete() 函数的示例代码 example3 如下。# -*- coding: UTF-8 -*-

    import numpy as np

    #创建数组arr

    arr = np.arange(16).reshape(4,4)

    print('第1个数组arr:',arr)

    print ('未传递 axis 参数,在删除之前输入数组会被展开。')

    print (np.delete(arr,[6,9,12])) #删除arr数组中索引为6,9,12的元素

    print(arr)

    print('删除第3列:')

    print(np.delete(arr, 2, axis=1))

    print('删除第2行:')

    print(np.delete(arr, 1, axis=0))

    print('从数组中删除用切片表示元素范围值:')

    print(np.delete(arr, np.s_[::2]))

    以上就是三种函数在numpy数组中的运用,更多Python学习推荐:PyThon学习网教学中心。

    展开全文
  • JAVA 通过控制台输入任意长度数组、...控制台输入数组 System.out.println("请输入任意个数字:"); Scanner in=new Scanner(System.in); String str=in.next().toString(); String[] arr=str.split(","); int[...

    JAVA 通过控制台输入任意长度数组、数组反转

    控制台输入数组

    System.out.println("请输入任意个数字:");
            Scanner in=new Scanner(System.in);
            String str=in.next().toString();
            String[]  arr=str.split(",");
            int[] a=new int[arr.length];
            for (int i = 0; i < arr.length; i++) {
                a[i] = Integer.parseInt(arr[i]);
            }
    

    数组反转

    int temp;
            for (int j = 0; j < a.length/2; j++) {
                temp = a[j];
                a[j] = a[a.length-1-j];
                a[a.length-1-j]=temp;
            }
            for (int q = 0; q < a.length; q++) {
                System.out.print(a[q]+" ");
            }
    

    效果如下
    在这里插入图片描述

    展开全文
  • 《程序设计基础实训指导教程-c语言》 ISBN 978-7-03-032846-5 p73 4.1.2 上级实训内容 【实训内容1】在1个数组中输入10个数,逆序存放在另一个数组中。 #include <... printf("输入数组元素:\n");...
    《程序设计基础实训指导教程-c语言》
    ISBN 978-7-03-032846-5
    p73
    4.1.2 上级实训内容
    

    【实训内容1】在1个数组中输入10个数,逆序存放在另一个数组中。

    #include <stdio.h>
    #define MAX 10
    int main(void)
    {
    	int a[MAX],b[MAX],i,j,temp;
    	printf("输入数组元素:\n");
    	for(i=0;i<MAX;i++)
    	{
    		scanf("%d",&a[i]);
    	}
    	for(j=0,i=MAX-1;i>=0;j++,i--)	//利用逗号表达式,进行for循环,当i不符合i>=0时,不用判断j<MAX(即b数组的结束条件)
    	{
    		b[j]=a[i];
    	}
    	printf("输出a数组:\n");
    	for(i=0;i<MAX;i++)
    	{
    		printf("%d\t",a[i]);
    	}
    	printf("\n");
    	printf("逆序输出a数组:\n");
    	for(j=0;j<MAX;j++)
    	{
    		printf("%d\t",b[j]);
    	}
    
    }
    

    在这里插入图片描述

    展开全文
  • 任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。 要求: 1)数组有10个元素; 2)使用scanf函数实现数组元素输入输入前给出必要的提示信息; 3)输出时,首先输出数组的个元素,然后输出其...
    /*SY4.1
    题目描述
    对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。
    要求:
    1)数组有10个元素;
    2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息;
    3)输出时,首先输出数组的十个元素,然后输出其最大值和最小值。 
    样例输入
    1 2 3 4 5 6 7 8 9 0
    样例输出
    a[0]=1
    a[1]=2
    a[2]=3
    a[3]=4
    a[4]=5
    a[5]=6
    a[6]=7
    a[7]=8
    a[8]=9
    a[9]=0
    max:9,min:0*/
    #include <stdio.h>
    int main()
    {
    	int a[10],i,max,min;
    	for(i=0;i<10;i++)
    		scanf("%d",&a[i]);
    	for(i=0;i<10;i++)
    		printf("a[%d]=%d\n",i,a[i]);
    	max=a[0];
    	min=a[0];
    	for(i=0;i<10;i++)
    	{
    		if(a[i]>max)
    			max=a[i];
    		if(a[i]<min)
    			min=a[i];
    	}
    	printf("max:%d,min:%d",max,min);
    	return 0;
    }
    
    展开全文
  • 知识网络1.2 从键盘输入一个数组

    千次阅读 2018-11-01 23:54:12
    因为前面那一节实在是太...在很多情况下,我们也需要程序运行时,让用户(一般都用这词来指程序的使用者)从键盘逐个输入数组元素。这基本上问题都不大,但是还是会有很多变化在里面的。 接下来我们所有的讨论...
  • 1  //编写一个泛型方法,接收任意一个数组,并颠倒数组中的所以元素 public void reverse(T arr[]){ int start = 0; int end = arr.length-1; while(true){ if(start>=end){ ...
  • /*用模版类实现一个万能数组数组类型可以任意给定,数组大小可以任意给定*/ /* 函数调用 typeid(变量).name() 获取变量的类型名 */ #include using namespace std; //模版类定义,一个是虚拟类型T,用来给定数组...
  • import java.util.*; public class goodstudy{ public static void main(String [] args){ Scanner sc=new Scanner(System.in);...i<10;i++,j++){ System.out.print(arry[i]); if(j) System.out.print(","); } } }
  • 前言接着昨天的话题,我们再来看看向C语言的数组中随机插入一个元素的方法。如果是在python向列表中随机添加元素,我们往往使用insert()的方法。...但是在覆盖数组元素时,我们应该从数组的末尾开始不断将数组向...
  • 数组反序存放可以不用指针也能实现,之前的博客中有提到过 此次的分享着重于指针实现。 代码展示: #include <stdio.h> void fan(int *x,int n); int main() ...//作输入p即表示每一个数组元素的地
  • 输入一个数组数组的长度有用户输入,然后再一次输出数组元素
  • 从键盘任意输入10个整数存入一个数组中,然后任意输入一个整数x,采用顺序查找法,在数组中查找该数,如果找到,则函数返回该数在数组中的下标位置,并在主函数中打印该值;如果没有找到,则返回-1,并在主函数中...
  • *对一个数组排序,并输出数组中重复元素的个数  * 如: 78,67,98,21,6,9,78,78,78,21  * 输出:6[1],9[1],21[2],67[1],78[4],98[1]  public void sortAndCount(int array[],int length){  //这里有三个...
  • #include int main() { int b,c,j; int a[10]={0,20,30,2,8,100,77,4,9,88}; printf("请输入0,20,30,2,8,100,77,4,9,88中的一个数:\n"); scanf("%d",&b); for(j=0;j<10;j++) { if(a[j]==
  • int count = 0;  int max = 0;... printf("请输入一个数字:\n");  scanf("%d",&count);  int *p = malloc(sizeof(int)*count);  for (int i = 0; i  *(p + i) = arc4random() %
  • System.out.println("请输入数组,利用空格分开:"); Scanner sc = new Scanner(System.in); int arrLength = 5; int[] arr = new int[arrLength]; for (int i = 0; i < arr.length; i++) { ..
  • 任意一个整型数组进行冒泡排序

    千次阅读 2018-04-19 21:43:23
    冒泡排序的核心就是进行两次循环的嵌套,然后两数进行比较,若前面的数大于后面的数,两数就交换位置;若前面的数小于或者等于后面的数,则不需要进行比较。(就和平时我们看到的泡泡一样,轻的泡泡总是在最上面...
  • //定义一个变长数组,通过键盘输入数组的元素个数,并且通过键盘获取任意的一组数字放入数组中,最后将其逆序输出 #include<stdio.h> int main() { int num=0; printf("请输入数组元素的个数:\n"); scanf...
  • <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">...meta name="viewport" content="width=device-width, initial-scale=1.0">... //求任意一个数组中的最
  • #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h>... printf("请输入一个长度为10的整形数组:\n"); for (i = 0; i < 10; i++) ...
  • 数组中指定位置插入任意一个元素 思路 通过后移鼠标指针完成对数组的加长以及对目标位置之后的值完成复制和移动,腾出目标位置的空间来存放需要插入的值 int main() { int a[10] = { 1,2,3,4,5 }; int x, pos = ...
  • 设有一个数组,初始数据为{ 2,8,7,6,4,28,70,25 },从键盘任意输入一个整数数字,输出以该数字为下标的数组元素的值。要求捕获异常并处理。 仅供参考 package dame; import java.util.Scanner; public class...
  • 一个整形数组a,有10个元素,要求输出数组中的全部元素 解题思路:引用数组中各元素的值有3种方法:1.下标法,如a[3];2.通过数组名计算数组元素的地址,找出元素的值 3.用指针变量指向数组元素。 //用指针变量指向...
  • 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 import java.util.Scanner; public class Exchange { public static void main(String[] args) { // TODO Auto-generated...
  • 任意输入一个任意长度的整形数字数组,求数组中每个数字的各个位之和(如:123---6) 题目:任意长度整形数字数组,求数组中每个整形数字各个数字位的数字之和; 样例: 输入:[123, 345,112, 234] 输出:[6, 12...
  • java输入任意长度二维数组

    万次阅读 2017-02-18 14:18:51
    二维数组,每维想要输入任意个数的字符用空格隔开时可以用以下代码,如有更好的方法欢迎讨论。 package basic_practice; import java.util.Scanner; public class Main { public static void main(String[] ...
  • 编程:输入5整数作为数组元素,分别用数组和指针计算并输出数组元素和。 #include<stdio.h> int main() { int a[5],i,*p; int sum=0,t=0; printf("请输入5整数:"); for(i=0;i<5;i++) scanf("%d...
  • //给定一个数组, 再给定一个元素, 找出该元素数组中的位置.(顺序查找) public class Test6_find { public static void main(String[] args){ int[] arr={1,2,3,4,5,8}; System.out.print(find(arr,8)); } public ...
  • 编程:求一个数组元素的最大值

    千次阅读 2018-09-22 21:35:35
    方法1:自己 #include&lt;stdio.h&gt; void main(void){ int s[10] = {10, 23, 45, 1, 34, 76,100, 32... //求数组s元素的最大值 for(i = 0; i &lt; 10; i++){ for(j = 0; j &lt; i; j++){ ...
  • import java.util.Arrays; import java.util.Scanner;... * 自定义一个数组数组 * 并把这个数组中所有元素顺序进行颠倒 * @author CGB * */ public class Test02DXSZ { public static void main(String[] ar...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,106
精华内容 65,242
关键字:

任意输入一个数组10个元素