Python学习之基础语法(二)

姓名:何承勇

学号:16050510005

转载自:http://www.cnblogs.com/Peter-Zhang/archive/2011/12/25/2300524.html,有删改

【嵌牛导读】:Python自1991年发布以来,逐渐被广泛应用在系统管理任务的处理和Web编程上。由于其语法简洁清晰,我们完全可以在学习Java、C++等面向对象编程语言时,同时学习Python。

本文主要讲述上文未完的Python的数据结构内容。

【嵌牛鼻子】:Python、基础学习、数据结构

【嵌牛提问】:Python与我们所学的C语言结构基础有哪些异同?

【嵌牛正文】:

六、数据结构(接Python学习之基础语法(一))

2. 元组

tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义;支持索引和切片操作;可以使用 in

查看一个元素是否在tuple中。空元组();只含有一个元素的元组("a",) #需要加个逗号

优点:tuple比list速度快;对不需要修改的数据进行‘写保护’,可以是代码更安全

tuple与list可以相互转换,使用内置的函数list()和tuple()。

Python学习之基础语法(二)_第1张图片

元组最通常的用法是用在打印语句,如下例:

函数如下:

count(value)  ---返回元组中值为value的元素的个数

index(value, [start, [stop]])  ---返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError

Python学习之基础语法(二)_第2张图片

3. 字典

字典由键值对组成,键必须是唯一的;eg: d = {key1:value1, key2:value2};空字典用{}表示;字典中的键值对是没有顺序的,如果想要

一个特定的顺序,那么使用前需要对它们排序;d[key] = value,如果字典中已有key,则为其赋值为value,否则添加新的键值对key/value;使

用del d[key] 可以删除键值对;判断字典中是否有某键,可以使用in 或 not in;

Python学习之基础语法(二)_第3张图片

dict函数如下:

clear()  ---删除字典中所有元素

copy()  ---返回字典的一个副本(浅复制)

dict.fromkeys(seq,val=None) ---创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)

Python学习之基础语法(二)_第4张图片

get(key,[default])  ---返回字典dict中键key对应值,如果字典中不存在此键,则返回default 的值(default默认值为None)

has_key(key)  ---判断字典中是否有键key

items()  ---返回一个包含字典中(键, 值)对元组的列表

Python学习之基础语法(二)_第5张图片

keys()  ---返回一个包含字典中所有键的列表

Python学习之基础语法(二)_第6张图片

values()  ---返回一个包含字典中所有值的列表

Python学习之基础语法(二)_第7张图片

pop(key, [default])  ---若字典中key键存在,删除并返回dict[key],若不存在,且未给出default值,引发KeyError异常

Python学习之基础语法(二)_第8张图片

popitem()  ---删除任意键值对,并返回该键值对,如果字典为空,则产生异常KeyError

setdefault(key,[default])  ---若字典中有key,则返回vlaue值,若没有key,则加上该key,值为default,默认None

Python学习之基础语法(二)_第9张图片

update(dict2)  ---把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值

viewitems()  ---返回一个view对象,(key, value)pair的列表,类似于视图。优点是,如果字典发生变化,view会同步发生变化。在

迭代过程中,字典不允许改变,否则会报异常

viewkeys()  ---返回一个view对象,key的列表

viewvalues()  ---返回一个view对象,value的列表

4. 序列

序列类型是指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素;列表、元组和字符串都是序列;序列的两个主要特点是

索引操作符和切片操作符;索引可以得到特定元素;切片可以得到部分序列;

Python学习之基础语法(二)_第10张图片

切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。 如果不指定第一个数,Python就从

序列首开始。如果没有指定第二个数,则Python会停止在序列尾。 注意,返回的序列从开始位置 开始 ,刚好在结束位置之前 结束。即开始位置是

包含在序列切片中的,而结束位置被排斥在切片外。 可以用负数做切片。负数用在从序列尾开始计算的位置。

5. 绑定

当创建一个对象并给它赋一个变量的时候,这个变量仅仅“指向”那个对象,而不是表示这个对象本身! 也就是说,变量名指向计算机中存储那个

对象的内存,这被称作名称到对象的绑定。

如果要复制一个列表或者类似的序列或者其他复杂的对象(不是如整数那样的简单对象),那么必须使用切片操作符来取得拷贝。

原文作者:Peter

你可能感兴趣的:(Python学习之基础语法(二))