数组

bash cookbook

筅森魡賤 提交于 2020-04-01 14:12:41
目录 简介 变量 静态变量 变量操作 数组 应用 四则运算 条件测试 整数测试 文件测试 字符测试 组合条件测试 选择语句 循环语句 for--有限循环 while--无线循环 until continue 函数 格式化输出 echo printf echo printf 其他 位置参数 $@ $* $# 如果命令运行失败让脚本退出执行 若有用未设置的变量即让脚本退出执行 简介 GNU Bash ,又名 Bourne Again Shell。它最初发布于 1989 年,并且轻松成长为 Linux 世界中使用最广泛的 shell,甚至常见于其他一些类 Unix 系统当中。 shell解析命令行的过程以及eval命令 变量 shell中的变量都是全局变量,函数中的变量需要使用 local 将其变成局部变量,防止污染函数外的变量。 不过从严格意义上,Bash没有变量类型。Bash中的变量,在运行的时候会被展开成其对应的值(字符串)。 静态变量 在执行过程中不能改变的变量 readonly passwd_file=”/etc/passwd” readonly group_file=”/etc/group” 变量操作 大小写切换 ^大写,,小写, ~大小写切换 重复一次只匹配一个字母,重复两次则应用于所有字母。 HI=HellO echo "$HI" # HellO echo ${HI^}

2020.3.30 机器学习概述

亡梦爱人 提交于 2020-04-01 11:30:24
1)贴上Python环境及pip list截图,了解一下大家的准备情况。暂不具备开发条件的请说明原因及打算。 2)贴上视频学习笔记,要求真实,不要抄袭,可以手写拍照。 3)什么是机器学习,有哪些分类?结合案例,写出你的理解。 1)python环境为:python3.7 pip list: 2) (1)机器学习概论: ①机器学习的基础需要数学分析和概率论基础。 ②机器学习是人工智能的一个分支。我们使用一个计算机设计出来的系统,通过训练数据并按照一定训练的方法,不断学习以及优化,达到一个能够预测信息的一个过程。 ③机器学习分类:有监督学习和无监督学习。 P1.33 预测推理方法。 ④通过模型得到预测,我们需要学习建模的过程,当然预测也重要。 ⑤机器学习的流程:数据收集,数据清洗,特征工程,数据建模 P1.47模型选择:决策数,回归,随机森林,SVM,聚类,高斯分布,EM算法。 ⑥高数知识: 微积分应用,泰勒公式,方向导数,梯度, F函数(伽马函数),凸函数(跟高数不一样的理解),(一阶可微函数,二阶可微函数,指数函数,幂函数,负对数函数,负熵函数) ⑦概率论知识:累计分布函数,概率密度函数,古典概型, (2)Python基础: Numpy库,数组的使用技巧: arange函数:指定起始值、终止值和步长来创建数组。 reahpe:可转为几行几列。 Ndarray函数

前端常见面试题

半腔热情 提交于 2020-04-01 07:36:36
一.JS (1) 在函数中赋值,多次赋值,出现问题 var a = b = c = 10; console.log(delete a); //false console.log(delete b); //true console.log(delete c); //true function fn(){ var a = b = c = 10; } fn(); console.log(b); //10 console.log(c); //10 console.log(a); //a is not defined (2)数组的length 赋值给变量后,无法判断数组长度 var arr = [1,2,3], i = 0, len = arr.length; arr.length = 2; console.log(len); //3 console.log(arr.length); //2 (3) 截取字符 console.log('abcdefg'.substring(4)) // efg (4) 统计一个字符里出现最多的字母和出现次数 var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.charAt

go语言学习(基本数据类型)

感情迁移 提交于 2020-04-01 04:32:03
值类型: int/uint :根据系统确定是32还是64位。此外还有int8/uint8、int16/uint16、int32/uint32、int64/uint64 byte:字节型,相当于uint8。 float:go语言中没有double型,因为已经有了float32/float64,分别精确到小数点后面7、15位。 uintptr:保存32bit或64bit指针,应该是保存指针的地址 数组array: 数组是有类型的,比如var a [10]int= [10]int{1},a的类型为[10]int。 数组之间可以比较相等==或者不相等(!=),前提是类型相同。如果数组间类型相同且内容依次都一致,那么两个数组相等;如果两个数组类型相同,内容不一致,那么数组不相等。 数组间赋值是值拷贝,会拷贝整个数组的所有元素给另一个数组,而不是引用拷贝,这点和C很不一样!!! string 有地方说string是不可变的。这里要从string的内部结构说起: 1 type StringHeader struct { 2 Data uintptr 3 Len int 4 } string内部是一个指向某块内存的指针,加上内存块的长度。这里说的string不可变指的是uintptr指向的内存块的内容不可变,但是其指向可以变,用C语言描述一下就是: const T *uintptr; struct

2、指针的算术运算

筅森魡賤 提交于 2020-04-01 03:18:51
指针可以加上或减去一个整数。 指针的这种运算的意义和通常的数值的加减 运算的意义是不一样的 ,以单元为单位。 例如: 例二: char a[20]; int *ptr=(int *)a; // 强制类型转换并不会改变 a 的类型 ptr++; 在上例中,指针 ptr 的类型是 int*, 它指向的类型是 int ,它被初始化 为指向整型变量 a 。接下来的第 3 句中, 指针 ptr 被加了 1 ,编译器是这样 处理的:它把指针 ptr 的值加上了 sizeof(int) ,在 32 位程序中,是被加上 了 4 ,因为在 32 位程序中, int 占 4 个字节。 由于地址是用字节做单位的, 故 ptr 所指向的地址由原来的变量 a 的地址向高地址方向增加了 4 个字节。 由于 char 类型的长度是一个字节,所以,原来 ptr 是指向数组 a 的第 0 号 单元开始的四个字节,此时指向了数组 a 中从第 4 号单元开始的四个字节。 我们可以用一个指针和一个循环来遍历一个数组,看例子: 例三: int array[20]={0}; int *ptr=array; for(i=0;i<20;i++) { (*ptr)++; ptr++ ; } 这个例子将整型数组中各个单元的值加 1 。由于每次循环都将指针 ptr 加 1 个单元 ,所以每次循环都能访问数组的下一个单元。 再看例子:

去哪儿2015笔试题JAVA实现

我与影子孤独终老i 提交于 2020-04-01 03:13:46
第一题代码: 分析:将字符数组中的每个字符串,找出其中最长的那个与字符数组中长度进行比较: a、当最长的字符串的长度大于等于字符数组的长度时,直接输出 b、当最长的字符串的长度小于字符数组的长度时,找出该长度下整数值最大的那个字符串,在前面部0输出 package com.njupt; public class Heia { public String MaxLength(String[] string){ int max=Integer.valueOf(string[0]); int index=0; for(int i=1;i<string.length;i++){ int temp=Integer.valueOf(string[i]); if(max<temp){ max=temp; index=i; } } if(string[index].length()>=string.length){ return string[index]; } else{ String str=""; int tem=string.length-string[index].length(); for(int j=0;j<tem;j++){ str +="0"; } str +=string[index]; return str; } } public static void main

25-字符串

≡放荡痞女 提交于 2020-04-01 02:05:30
字符串是位于双引号中的字符序列 在内存中以"\0"结束,所占字节比实际多一个 注意: (1)可以把一个字符常量赋给一个字符变量,但不能把字符串常量赋给字符变量 (2)C语言中没有字符串变量,可以 用字符数组来存放字符串 1、字符数组的概念   用来存放字符的数组称为字符数组。 2、字符数组定义   形式和前边介绍的数值数组相同    char 数组名[常量表达式] 例如:char ch[5];   字符数组也可以是二维或多维数组。    char 数组名[常量表达式1][常量表达式2];   例如:char ch[2][5]; 即为二维字符数组。 注意:定义字符数组时,应确保数组长度比字符串长度至少多1 3、字符数组初始化 字符数组也允许在定义时作初始化赋值 char ch[4] = {'a', ' ', 'o'}; 赋值后各元素的值为: ch[0] = 'a'; ch[1] = ' '; ch[1] = 'o'; 其中ch[3]未赋值,系统自动赋值为0。 当对全体元素赋初值的时候也可以省去长度说明。例如:   char ch[] = {'f', 'A', ' '}; 这时数组长度自动定为3。 注意:未被使用的元素均被自动初始化为0 4、字符数组的引用   字符数组和普通数组一样,也是通过下标引用。 5、字符串和字符串结束标志   在C语言中没有专门的字符串变量

使用ivx中表格组件的经验总结

送分小仙女□ 提交于 2020-04-01 01:01:42
之前讲过了使用ivx在案例中如何使用图表组件更直观的展示数据,不过还有另一种展示数据也常用到的手段——表格。ivx中也对这一功能制作了对应的表格组件,今天就来说说这个表格组件是如何使用的。 1.表格的数据来源 表格和for循环创建一样需要有数据来源,而且多是对象数组(嗯,反正我就是喜欢对象数组)。可以看到第一行除了第一列后面几个的元素都是 “ left ”(注意前后都是各两个下划线),这个是用于合并两个相邻表格的,而且把left换成right,up,down也都是可以的。 2.内部框和选中框 表格的属性里包含对表格框的设置,其中内部框指的是表格中的一小格,而选中框就是我们选中的那一小格。我们可以设置它的线宽,样式和颜色。内部框的位置也很容易理解,四个小图标都是只有一条直线三条虚线,对应着内部框上下左右四条边框。可以看到这个属性是可以进行数据绑定的,其数据绑定的值是0-15的十进制,正好对应一个4位二进制数的范围,每个小图标选中则为1,不选中则为0。例如下图四个都选中就是二进制数1111,这个二进制数转换成十进制的值就正好是15。 3.列宽 实际案例中表格每一列的内容的宽度其实可能是不等的,这个属性很好的一点就是我们不但可以设置列宽,还可以更细致的根据每一列的情况进行更详细的设置。即使是固定宽度依旧可以选择px—像素宽度,或者%—百分比宽度。将可拉伸打开

Java基础语法(7)-数组

元气小坏坏 提交于 2020-03-31 22:59:56
title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个 相同类型数据按一定顺序排列 的集合,并使用 一个名字命名 ,并通过 编号 的方式对这些数据进行统一管理。 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组本身是 引用数据类型 ,而数组中的元素可以是 任何数据类型 ,包括基本数据类型和引用数据类型。 创建数组对象会在内存中开辟一整块 连续的空间 ,而数组名中引用的是这块连续空间的首地址。 数组的 长度一旦确定,就不能修改。 2.一维数组的使用 一维数组的使用:声明 type var[] 或 type[] var; int a[]; Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法 一维数组的使用:初始化 动态初始化 :数组声明且为数组元素分配空间与赋值的操作分开进行 int[] arr = new int[3]; arr[0] = 3; arr[1] = 9; arr[2] = 8; String names[]; names = new String[3]; names[0] = “钱学森”; names[1] = “邓稼先”; names[2] = “袁隆平”; 静态初始化 :在定义数组的同时就为数组元素分配空间并赋值。

Underscore.js 1.3.3 源码分析收藏

天涯浪子 提交于 2020-03-31 22:53:12
源码注释转之网上他人之备注,特收藏以后方便阅读。 // Underscore.js 1.3.3 // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. // Underscore is freely distributable under the MIT license. // Portions of Underscore are inspired or borrowed from Prototype, // Oliver Steele's Functional, and John Resig's Micro-Templating. // For all details and documentation: // http://documentcloud.github.com/underscore (function() { // 创建一个全局对象, 在浏览器中表示为window对象, 在Node.js中表示global对象 var root = this; // 保存"_"(下划线变量)被覆盖之前的值 // 如果出现命名冲突或考虑到规范, 可通过_.noConflict()方法恢复"_"被Underscore占用之前的值, 并返回Underscore对象以便重新命名 var previousUnderscore = root._;