Python 初学(2)

列表

     Python的列表对象是这个语言提供的最通用的序列。列表是以供任意类型的对象位置有关的有序集合,没有固定大小。

  序列操作

  由于列表是序列的一种,列表支持所有的我们对字符串所进行过的序列操作。


  append()在尾部扩容列表。pop()删除指定索引位置的元素(这里的pop 可不是C里面的出栈)。其他的方法可以在任意位置插入(insert)元素,按照值移除(remove)元素等,而且列表的这些操作都是对列表本实时生效的,而不是重新创建一个列表。


  sort() 对列表进行排序,默认按照升序排序,reverse()翻转列表。

  关于边界检查,当我们的索引下标超过列表的范围时,会报错,而这点,C语言是没有的。

  关于嵌套,我们看一下多层嵌套。


  一个是二级嵌套,一个是级嵌套。按照索引的方式读取时,是不是非常像C的二维数组和三维数组。但是这个感觉上比C的更直观。我在学习C时到了三维之后整个思路就混乱了,很难把握。


列表的解析

  处理列表序列操作和列表的方法中,Python还包括了一个更高级的操作,称作列表解析表达式,从而提供了一种处理像矩阵这样结构的强大工具。例如,我们需要从列举的矩阵中提取出第二列。因为矩阵是按照行进行存储的所以通过简单的 索引集合获取,使用列表解析可以同样简单的获取。


字典

  Python中的字典是完全不同的东西,它们不是序列,而是一种映射(C++ 标准库中的map,键值对),映射是以供其他对象的集合,但是它们是通过键而不是相对位置累存储的。是机上映射并没有任何从左到右的顺序。它们简单的将键映射到值。字典是Python核心对象集合中唯一的一种映射类型。具有可变性。

 

映射操作

  作为常量编写时,字典编写在大括号中,并包含一系列的键:值对。在我们需要将键与一系列值相关联的时候,字典是很有用的。


  创建一个字典D,可以看到对字典的索引下标,和列表的不同,下标是键而不是列表中的位置。对字典的改变在字典本身生效,同样不产生新的对象。

看一下字典的另外一种创建方式。


1D={} 创建以供空字典。

2,给字典的每一项赋值,这里要注意,当字典的键存在时,我们做的是改变这个键的值,当键不存在时,则新增加一个键值对。


字典的嵌套

创建一个rec ,name 的值又是以供字典,键job 的值是一个列表,可以看到对不同的键的值可以使用嵌套类型的函数调用,例如可以对job 的值使用列表的append()函数。

 

键的排序:for循环

  前面说过,字典因为不是序列,他并不包含任何固定的顺序,这意味着如果我们建立一个字典,并打印,它的键也许会以与我们输入时不同的顺序出现:


就像上图看见的 键并不是第一个输出。那么如果在以供字典的元素中,我们确实需要强调某种顺序的时候,要怎么做?

以供常用的解决办法就是通过字典的keys 方法收集一个键的列表,使用列表的sort方法进行排序,然后使用Pythonfor 循环逐个进行结果显示。


我们现通过list 创建以供D的键列表,然后对列表Ks进行sort(),之后用for循环遍历Ks,打除D的值。上图可以看到我的第一次打印出现错误,不能执行。问题在于Python的缩进规则,它的语句块并不像C/C++用一对{}进行区分,而是有严格的缩进规则,第一次输出错误,就是没有进行缩进。这个也是我不喜欢Python这种语法的一个地方,一个for 循环,它之后的每一句都要缩进和前面的一致。用IDE还好一些,在终端做练习很麻烦。

上面的3步,新的Python,可以通过使用最新的sorted内置函数可以一步完成。

Sorted调用各种返回结果并对各种对象类型进行排序:


Python的另外一种循环while循环是一种更为常见的排序循环工具,它不仅限于遍历序列:


要注意的是,不论是for循环还是while循环,循环条件语句的结束和其他的大多数语言以括号() 结束不同,Python是以冒号‘:’结束,这点要注意到。

 

元组

元组对象(tuple)基本上就像一个不可以改变的列表,像列表一样,元组是序列,但是它具有不可变性,和字符串类似。语法上他们用括号()括起来,支持任意类型,任意嵌套以及常见的序列操作:


主要说的是元组可以通过index获取元素,还可以通过count 统计含有某个元素对象的个数。但是不能改变元素的值,同样不能增加和删减元组的元素。

为什么要用元组呢?

元组在实际中往往不像列表那样常用,但是它的关键是不可变性。如果在程序中以列表的形式传递一个对象的集合,它可能在任何地方被改变;如果用元组的话,就可以让着这种事情的发生,元组提供了一种完整性的约束。

文件

文件对象是Python代码对电脑上外部文件的主要接口。虽然文件是核心类型,但它有一些特殊性:没有特定的常量语法创建文件。要创建一个文件对象,需要调用内置的open函数以字符串的形式传递给它一个外部的文件以及一个处理模式字符串。例如创建一个文本输出文件,可以传递文件名以及‘w’处理模式字符串以写数据:




通过open 操作文件,如果文件存在直接打开,如果不存在,则创建一个新的文件。

通过write函数写入文件。查看一下效果。


文件的读取


打开之后调用read()函数读取文件的全部内容,按行读取可以调用readline()

 到此Python常用的数据类型初步学习完成了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值