Python

Python函数以及一些注意

2018-08-17  本文已影响16人  d834a9a2551c

函数

>>> a= [1,2,3]�
>>> b=[4,5,6]
>>> a.append(b) �
>>> a
[1, 2, 3, [4, 5, 6]]

如果执行a.append(b) ,则列表得到了第四个元素,而且第四个元素也是一个列表。然而
如果使用a .extend(b):

�>>> a= [1,2,3]
>>> a .extend(b)
>>> a

[1, 2, 3, 4, 5, 6] �则得到一个包含a和b所有元素的列表。

iterable:是可迭代类型;
cmp:比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0;
key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
reverse:排序规则. reverse = True(降序)或者 reverse = False(升序),有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。


注意

  1. 在二维矩阵中,例如
 testMat=matrix([[1., 0., 0., 0.],
        [0., 1., 0., 0.],
        [0., 0., 1., 0.],
        [0., 0., 0., 1.]]) 
testMat[[2,1],:] 
# 这样的取值方法表示,取第2、1行的所有列。
matrix([[0., 0., 1., 0.],
        [0., 1., 0., 0.]])

# 同理
testMat[[3,1],:] 
# 表示取第3、1行的所有列。
matrix([[0., 0., 0., 1.],
        [0., 1., 0., 0.]])
  1. 一些引用的注意事项
a=4
b=a
# 这时候 id(a) 等于 id(b)
a=5
# 这时候 id(a)改变了,id(b)不变
# b还是等于4
# a指向的对象变了,而b还是指向‘4’这个对象

a=[1,2,3]
b=a
# 这时候 id(a) 等于 id(b)
a=[4,2,3]
# 这时候 id(a)改变了,id(b)不变
# b还是等于[1,2,3]
# a指向的对象变了,而b还是指向‘[1,2,3]’这个对象

a=[1,2,3]
b=a
# 这时候 id(a) 等于 id(b)
a[0]=10
# 这时候 id(a)、id(b)不变
# b等于a等于[4,2,3]
# 若是b[0]=10,结果相同
# 因为改变的是a[0]指向的对象,而a指向的对象和b指向的对象不变
  1. 报错 'dict' object has no attribute 'has_key'
    python2:
    if dict.has_key(word):
    python3:
    if word in dict:

  2. 关于Python中[i:j:s]
    i代表开始序号,
    j为结尾元素的后一个序号,
    s是步长,缺省时默认为1。
    如a[0,1,2,3,4,5,6,7,8,9]
    a[0:10],输出的是从0到9;而a[0:9],输出的是从0到8
    当s>0时,i缺省默认为0,j缺省默认为len(a),即序列长度。
    当s<0时,i缺省默认为-1,j缺省默认为-(len(a)+1),即想输出从9到0,a[-1:-11:-1]
    当s=-1时,输出与默认为1时相反,即倒序
    如a[::-1],输出时从9到0


框架

上一篇下一篇

猜你喜欢

热点阅读