用的是windows的IDLE(python 3)

对象的认识:先创建一个list对象(用方括号)

 a = ['xieziyang','chenmanru']
a

对list中对象的引用

 a[0] # 表示列表a中的第一个对象

在列表的末尾添加一个对象

 a.append('xiemanru')
a.insert(0,'xiemanru1') # 在指定位置插入一个对象insert object before index

移除对象

a.remove('xiemanru')
a

for循环:

  movies = ['The Holy Grail','The Life of Brian','The Meaning of Life']
years = [1975,1979,1983]
k = 1
for time in years:
movies.insert(k,time)
k = k+2
movies

在列表中再插入一个列表:

 movies.insert(2,['Transformer',2007]

引用:

>>> movies[2][0]
'Transformer'

嵌套列表的打印:

 >>> for each_item in movies:
if isinstance(each_item,list): # 判断each_item是否为列表
for nested_item in each_item:
print(nested_item)
else:
print(each_item)

对于多重嵌套列表的打印:再添加一个列表

 >>> movies[2].insert(1,['阿甘正传',2010])
>>> movies
['The Holy Grail', 1975, ['Transformer', ['阿甘正传', 2010], 2007], 'The Life of Brian', 1979, 'The Meaning of Life', 1983]

定义函数:

 def print_it_all(the_list):  # 定义一个函数:def 函数名(参数):函数代码组
for each_item in the_list:
if isinstance(each_item,list):
print_it_all(each_item)
else:
print(each_item)

看看效果:

 >>> print_it_all(movies)
The Holy Grail
1975
Transformer
阿甘正传
2010
2007
The Life of Brian
1979
The Meaning of Life
1983

改进一下,打印的更好看:

 def print_it_all(the_list,level):
for each_item in the_list:
if isinstance(each_item,list):
print_it_all(each_item,level+1)
else:
for tab_stop in range(level):
print("\t",end = '')
print(each_item)

看一下结果:

 print_it_all(movies,0)
The Holy Grail
1975
Transformer
阿甘正传
2010
2007
The Life of Brian
1979
The Meaning of Life
1983

再添加一个参数控制是否缩进打印:

 def print_it_all(the_list,indent = False,level = 0):
for each_item in the_list:
if isinstance(each_item,list):
print_it_all(each_item,indent,level+1)
else:
if indent:
for tab_stop in range(level):
print("\t",end = '')
print(each_item)

看看结果怎么样:

 >>> print_it_all(movies)
The Holy Grail
1975
Transformer
阿甘正传
2010
2007
The Life of Brian
1979
The Meaning of Life
1983
>>> print_it_all(movies,indent = True)
The Holy Grail
1975
Transformer
阿甘正传
2010
2007
The Life of Brian
1979
The Meaning of Life
1983

看的书是head frist Python,挺适合初学者看的

以上代码也是参照上书内容,敲几遍就变成自己的了:)

欢迎大家来指教

Python学习笔记:第一次接触的更多相关文章

  1. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  2. 【python学习笔记】10.充电时刻

    [python学习笔记]10.充电时刻 任何python都可以作为模块倒入 *.pyc:平台无关的经过编译的的python文件, 模块在第一次导入到程序中时被执行,包括定义类,函数,变量,执行语句 可 ...

  3. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

  4. 近期Python学习笔记

    近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...

  5. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  6. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  7. Python学习笔记之生成器、迭代器和装饰器

    这篇文章主要介绍 Python 中几个常用的高级特性,用好这几个特性可以让自己的代码更加 Pythonnic 哦 1.生成器 什么是生成器呢?简单来说,在 Python 中一边循环一边计算的机制称为 ...

  8. Python学习笔记之模块与包

    一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...

  9. Python学习笔记之类与对象

    这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...

  10. Python学习笔记之从文件中读取数据

    10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...

随机推荐

  1. [转载]布隆过滤器(Bloom Filter)

    [转载]布隆过滤器(Bloom Filter) 这部分学习资料来源:https://www.youtube.com/watch?v=v7AzUcZ4XA4 Filter判断不在,那就是肯定不在:Fil ...

  2. pytorch中的torch.repeat()函数与numpy.tile()

    repeat(*sizes) → Tensor Repeats this tensor along the specified dimensions. Unlike expand(), this fu ...

  3. js中自然日的计算

    需求:前端取后端返回的时间与当前时间进行比较展示,展示规则: 1.返回的时间跟当前时间同年同月同日 显示 今天 2.返回的时间与当前时间相差在7天以内 显示 某天前 3.返回的时间与当前时间相差大于7 ...

  4. ThinkPHP5框架缺陷导致远程命令执行(POC整合帖)

    摘要 近日thinkphp团队发布了版本更新https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞. 影响范围 5.x < 5.1.31<= ...

  5. python、第八篇:索引原理与慢查询优化

    一 介绍 1. 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查 ...

  6. 架构师成长之路5.5-Saltstack配置管理(状态间关系)

    点击架构师成长之路 架构师成长之路5.5-Saltstack配置管理(状态间关系) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC ...

  7. 浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)

    Given a sequence of K integers { N​1​​, N​2​​, ..., N​K​​ }. A continuous subsequence is defined to ...

  8. java多线程的四种实现方式

    主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Callable.Futur ...

  9. 高性能mysql 第4章 Schema与数据类型优化

    基本原则: 更小的通常更好:占用更少的磁盘 内存和cpu缓存.如varchar(2)和varchar(100). 简单就好:比如整形比字符型代价更低.使用日期型来存储日期而不是字符串.使用整形存储ip ...

  10. centos swap分区

    swap分区         通常memory是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘 ...