python基础之数据类型语句

原创 2015年07月10日 09:35:36

读教程笔记http://cs231n.github.io/python-numpy-tutorial/

关于python基础知识:

1.string:

#~len(str):数组长度;

#~sprint style string formats:

hello="hello"
world='world'
str2="%s %s %d" %(hello,world,12)
print str2  #输出hello world 12
#~string可调用函数
s="hello"
print s.capitalize() #首字母大写
print s.upper()#将全部小写转化为大写
print s.rjust(9)  #右对齐字符串,左边使用空格填充
print s.center(9) #给定字符串总数,string居中,其余用空格填充
print s.replace('l',"(ell)") #使用右边参数替代前面参数
输出结果为:
Hello
HELLO
    hello
  hello  
he(ell)(ell)o
2.containers ;

#list

x=[3,2,"foo"] #create list
lastx=x.pop() #pop函数返回并删除list的最后一个元素
print lastx
print x
x.append("bar")  #添加元素
print x
输出结果为:

foo
[3, 2]
[3, 2, 'bar']

#添加元素可以使用append和extend函数,但是两者用法不同:

列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。
1.列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
2.append() 方法向列表的尾部添加一个新的元素。只接受一个参数。
3.extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

**********************************************************************************************************************

append()用法示例:

>>> mylist = [1,2,0,'abc']

>>> mylist

[1, 2, 0, 'abc']

>>> mylist.append(4)

>>> mylist

[1, 2, 0, 'abc', 4]

>>> mylist.append('haha')

>>> mylist

[1, 2, 0, 'abc', 4, 'haha']

>>>

**********************************************************************************************************************

extend()用法示例:

>>> mylist

[1, 2, 0, 'abc', 4, 'haha']

>>> mylist.extend(['lulu'])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu']

>>> mylist.extend(['123123','lalalala'])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu', '123123', 'lalalala']

>>> mylist.extend([111111,222])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu', '123123', 'lalalala', 111111, 222]


animals=['cat','dog','monky']  #带索引序号的list遍历函数enumerate
for idx,animal in enumerate(animals):
    print '索引%d %s' %(idx+1,animal)
输出结果为:

索引1 cat
索引2 dog
索引3 monky

nums = [0, 1, 2, 3, 4]
even_squares = [x ** 2 for x in nums if x % 2 == 0]
print even_squares  #输出[0, 4, 16]
#dictionary
<pre name="code" class="python">d = {'cat': 'cute', 'dog': 'furry'}
print d.get('monkey', 'N/A')  # Get an element with a default; prints "N/A"
print d.get('fish', 'N/A')    # Get an element with a default; prints "wet"
</pre>d={'person':2,'cat':4,'spider':8}for animal in d:    print '%s has %d legs' %(animal,d[animal])<p></p><pre>
</pre><pre name="code" class="python"><pre name="code" class="python">输出结果为:
person has 2 legs
spider has 8 legs
cat has 4 legs
#如果想要遍历字典里面的索引和索引对应的值,使用iteritems函数
for animal,legs in d.iteritems():
    print '%s has %d legs' %(animal,legs)

#将list生成dictionary
nums=[0,1,2,3,4]
even_num={x: x**x for x in nums if x%2==0}
#set

<pre name="code" class="python">animals = {'cat', 'dog'}
print 'cat' in animals   # Check if an element is in a set; prints "True"

print len(animals)       # Number of elements in a set; prints "3"
animals.add('cat')       # Adding an element that is already in the set does nothing
print len(animals)       # Prints "3"
animals.remove('cat')    # Remove an element from a set

from math import sqrt
nums = {int(sqrt(x)) for x in range(30)}
print nums  # Prints "set([0, 1, 2, 3, 4, 5])"

d = {(x, x + 1): x for x in range(10)}  # Create a dictionary with tuple keys
t = (5, 6)       # Create a tuple
print type(t)    # Prints "<type 'tuple'>"
print d[t]       # Prints "5"
print d[(1, 2)]  # Prints "1"


Python常用函数:

1.关于随机函数

times = np.arange(0, duration_s, time_step_s)    # start, end, step
与matlab的参数顺序不同,这个函数允许输入为float类型的。


vt = np.random.rand(np.shape(times)[0])
这个函数是可以生成某种大小的0到1之间的随机数组(矩阵),参数可以是数组的大小。

np.random.random((2, 3))
array([[ 0.58941311,  0.00996924,  0.30159729],
       [ 0.64386549,  0.94079774,  0.92460379]])

生成0到1之间的大小为2*3的矩阵


np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
       [3, 2, 2, 0]])
Generate a 2 x 4 array of ints between 0 and 4

我也是傻了,浮点数的话可以先生成随机数然后再乘以最大值即可。

比如要生成0-200之间的随机数,先生成0-1之间的随机数然后再乘以200即可。


2. 关于符号函数

spikes[i, :] = np.signbit(vt - (spikes_pers * time_step_s))
这个函数是将数组中的负数置为false, 其他置为true。

而sign函数却是负数为-1, 0 为0 , 正数为1.

此外,上面一行代码中括号中的最后一项乘项是两个实数项相乘,vt是向量,虽然numpy的array可以实现“向量-实数=向量”,但是python的list不行,list必须采取上面的signbit函数。当操作对象为numpy的array时,上面一行代码与下面的一行代码是等价的。

spikes[i, :] = (spikes_pers * time_step_s) > vt



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python入门(输入/输出、数据类型、条件/循环语句)

计算机的三个根本性基础 下面就赶紧开始介绍计算机的三大原则吧。 1. 计算机是执行输入、运算、输出的机器 2. 程序是指令和数据的集合 3. 计算机的处理方式有时与人们的思维习惯不同

java基础知识:数据类型,switch语句,分支结构

数据类型的强制转换 Public class Example2{       int i=97;        char c=(char)i;   ...

Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)

PL/SQL编程、异常、游标、数据类型

黑马程序员_Java基础_进制转换、基本数据类型、运算符、流程控制语句等

一、进制转换 参考这篇文章: 二进制、八进制、十进制、十六进制之间转换 注意: 负数的二进制表现形式: 6= 110   -6:其实就是6的二进制取反+1 取反:将二进制的1变成0,将0...

oracle 基础学习01----服务启动|语句定义|数据类型

1. Oracle服务的启动 为了加快电脑的启动速度,在安装好oracle之后,在管理工具的服务选项之中,将oracle服务作为手动启动(oracleservice[sid]),当需要启动之时,再打开...

黑马程序员之 ---- 基础语法上(关键字、标识符、进制、变量、数据类型、运算符、语句)

标识符 组成规则: 大小写字母 数字 _ 与 $ 使用规则: 不能以数字开头 不能是java的关键字 区分大小写 命名规则: 包:理解为就是一个文件夹   例如:域名:www.baidu.com 域...

J2SE基础篇——数据类型、运算符、语句、程序执行时内存分配、进制、编码

Java视频看了近半,总体感觉非常简洁,没有像vb.net那么多的关键字,也比较容易上手;马士兵老师是从内存的角度来分析程序的运行,理解起来轻松了不少,通过视频对面向对象的三大特性又有了一个比较深刻的...

再学Java基础(2)标识符,变量,数据类型。以及 if与for语句

这部分 为 java基础的理论部分,明白以及理解会用就可以了。 特别注意for:先执行表达式1,在执行表达式2,然后 执行语句,再然后 执行表达式3.特别是 在执行表达三的时候 要根据题目或需求灵活...

黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程

一、常量      概念:常量就是计算机不会变化的数值。      整数常量:表现形式有四种。 二进制、八进制、十进制、十六进制      八进制 :0开头。每三个二进制位代表一个八进制位。 ...

JS的学习路程基础(一)---数据类型,操作符,条件语句

Js学习历程基础(一) 1.js的变量 var age,year; 2.数据类型 1.数据类型:number,string,boolean,underfine,null,object(arra...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)