用的是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. 一款完美代替微信小程序原生客服消息的工具:

    一.设置:无需开发,多种回复(自动+人工)   自动回复形式有3种: 打开客服消息(用户只要和客服互动过一次,再次点击进入,会收到设置好的自动回复) 关键词回复(用户在小程序中回复某个关键词内容时,会 ...

  2. vue--微信支付

    1.当前页面没有注册: 需要登录微信支付商家后台,添加支付路径授权 2.安装 weixin-js-sdk 微信SDK npm install weixin-js-sdk --save 3.引入 imp ...

  3. 前端框架:Angular React 和 Vue的比较

    前端这几年的技术发展很快,细分下来,主要可以分成四个方面: 1.开发语言技术,主要是ES6&7,coffeescript,typescript等: 2.开发框架,如Angular,React, ...

  4. jQuery 遍历 - 祖先

    通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先. 向上遍历 DOM 树 这些 jQuery 方法很有用,它们用于向上遍历 DOM 树: parent() parents() pare ...

  5. 外网访问VMware(Centos7.0,NAT模式)搭建的web服务器应用

    首先参考         https://www.cnblogs.com/studyhard-cq/p/11551755.html 设置好NAT模式,能访问公网. 1.打开VMware,点击左上角编辑 ...

  6. Atcoder Regular 099 暴力区间扩张 n/dig(n)极值打表 团分割背包

    C 直接把第一次加在哪里for一遍即可 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) u ...

  7. Summer training round2 #10(Training 30)

    A:签到题 B!:搜索+DP #include<bits/stdc++.h> #define mp make_pair #define pi pair<int,int> usi ...

  8. redis事务(转载)

    原文地址:http://blog.csdn.net/hechurui/article/details/49508749 Redis事务 首先,Redis本身是单线程的. redis中的事务(trans ...

  9. 免费自动化测试工具Katalon Studio入门

    Katalon Studio 一.简介: Katalon Studio 是一个在网页应用.移动和网页服务方面功能强大的自动化测试解决方案.基于 Selenium 和 Appium 框架,Katalon ...

  10. 最近老是有兄弟问我,Vue双向绑定的原理,以及简单的原生js写出来实现,我就来一个最简单的双向绑定,原生十行代码让你看懂原理

    废话不多说直接看效果图 代码很好理解,但是在看代码之前需要知道Vue双向绑定的原理其实就是基于Object.defineProperty 实现的双向绑定 官方传送门 这里我们用官方的话来说Object ...