美文网首页Pythoner
Python语法细节补充

Python语法细节补充

作者: minimore | 来源:发表于2016-04-15 10:36 被阅读52次

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

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

关于List(列表)

列表操作包含以下函数:
  • cmp(list1, list2) 比较两个列表的元素
  • len(list) 列表元素个数
  • max(list) 返回列表元素最大值
  • min(list) 返回列表元素最小值
  • list(seq) 将元组转换为列表
列表操作包含以下方法:
  • list.append(var)
  • list.insert(index,var)
  • list.pop(var) 返回最后一个元素,并从list中删除
  • list.remove(var) 删除第一次出现的该元素
  • list.count(var) 该元素在列表中出现的个数
  • list.index(var) *该元素第一个匹配项的索引位置,无则抛异常 *
  • list.extend(list2) 合并list2到list上
  • list.sort([func]) 对原列表进行排序
  • list.reverse() 反向列表中元素
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

其他
  • 关键字in判断列表元素是否存在
  • 列表截取规则:list[i] list[-i] list[:i] list[i:] 不再详述

关于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.get(key, 0) 同dict[key],多了个没有则返回缺省值,0
  • dict.has_key(key) 有该键返回TRUE,否则FALSE
  • dict.keys() 返回字典键的列表
  • dict.values() 返回字典值的列表
  • dict.items() 返回字典键和值的列表
  • dict.update(dict2) 增加合并字典
  • dict.popitem() 得到一个pair,并从字典中删除它,已空则抛异常
  • dict.clear() 清空字典,同del dict
  • dict.cmp(dict1,dict2) 比较字典,(优先级为元素个数、键大小、键值大小) 第一个大返回1,小返回-1,一样返回0
  • dict1 = dict 别名,指向同一地址
  • dict2=dict.copy() 浅拷贝,它复制了对象,但对于对象中的元素,依然使用引用
  • dict2=copy.deepcopy(dict1) 深拷贝,它完全复制了包含对象中的元素
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(字符串)

关于迭代器

关于生成器

关于装饰器

(待补充......)

相关文章

  • Python语法细节补充

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

  • python语法入门补充

    可以实现对参数类型和函数返回值的提示(注意仅仅是提示的作用,不具有实际约束) 持续更新

  • 就业班第二周总结

    简单梳理了一下MySQL,Python还有pandas的内容,有些细节再慢慢调整和补充

  • 从0开发简书项目(3)-优化todoList功能

    一:jsx语法细节补充 定义css的类的时候,不能用class,要用className来代替class这个关键词,...

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • 语法补充

    0x00 特殊符号 Markdown中的转义字符为\,可以转义的有:1.\\ 反斜杠2.\` 反引号3.\* 星号...

  • 补充细节

    马昊轩: “哎,作业真多呀,这得到什么时候才能写完呀?”极度疲惫的我看着桌上堆积如山的作业,心中不免发愁。...

  • python学习总结

    python基础语法总结 参考:Python基础语法总结 参考:1.Python标识符 在 Python 里,标识...

  • Python import语句导入模块语法

    Python import语句导入模块语法 源文档Python import语句导入模块语法python中的imp...

  • OC语法补充

    OC常量相关http://www.jianshu.com/p/f83335e036b5

网友评论

    本文标题:Python语法细节补充

    本文链接:https://www.haomeiwen.com/subject/ddcnlttx.html