Pythoner

Python语法细节补充

2016-04-15  本文已影响52人  minimore

首先推荐一个初学Python的网站,相信不少人都阅读过,廖雪峰的Python教程:
http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

下面的很多细节知识在廖雪峰的教程中也能找到,在这里算是做一次强调吧:

关于List(列表)

列表操作包含以下函数:
列表操作包含以下方法:
list 操作符: + *

print [1,2] + [2,3]
[1, 2, 2, 3]

print ['A']*10
['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A']

关键字del

lst = ['a','b','c']
del lst[1]
print lst
['a', 'c']

enumerate(list)

函数用于遍历序列中的元素以及它们的下标:
for (i, j) in enumerate(lst):
print i, j
0 a
1 c

其他

关于Tuple(元组)

tuple和list非常类似,但是tuple一旦初始化就不能修改
普通定义:t = (1, 2)
定义空元组:t = ()
定义单个元组:t=(1,) 没有逗号会被认为定义了一个int数字1
定义包含list的元组:t = ('a', 'b', ['A', 'B']) 此时可以修改['A', 'B']中的元素,因为['A', 'B']是一个list,而python中的list是可变类型,元组t只能保证其内部的非可变类型一旦初始化就不能修改,原理是tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
** Python的基本类型如字符串(str)、整数(int)、浮点数(float)都是不可变的,元组(tuple)也是不可变的,而列表(list),字典(dict)是可变的 **

关于Dict(字典)

接着上面的讨论延伸,dict有一对对的key-value组合而成,那么什么样的数据类型能够作为key呢?
其实就是不可变类型的数据,因为key必须是确定的,也就是说上面提到的字符串(str)、整数(int)、浮点数(float)、元组(tuple)都能作为dict的key。而dict的value没有限制,可以是任何类型的数据。

dict常用方法:
dict排序:

sorted(numtimeAll.items(), key=lambda x:x[1])
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;reverse:排序规则 reverse = True 或者 reverse = False,有默认值。返回值:是一个经过排序的可迭代类型,与iterable一样。 注:一般来说,cmp和key可以使用lambda表达式。
sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。

关于Str(字符串)

关于迭代器

关于生成器

关于装饰器

(待补充......)

上一篇 下一篇

猜你喜欢

热点阅读