用的是windows的IDLE(python 3)

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

  1. a = ['xieziyang','chenmanru']
  2. a

对list中对象的引用

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

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

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

移除对象

  1. a.remove('xiemanru')
  2. a

for循环:

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

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

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

引用:

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

嵌套列表的打印:

  1. >>> for each_item in movies:
  2. if isinstance(each_item,list): # 判断each_item是否为列表
  3. for nested_item in each_item:
  4. print(nested_item)
  5. else:
  6. print(each_item)

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

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

定义函数:

  1. def print_it_all(the_list): # 定义一个函数:def 函数名(参数):函数代码组
  2. for each_item in the_list:
  3. if isinstance(each_item,list):
  4. print_it_all(each_item)
  5. else:
  6. print(each_item)

看看效果:

  1. >>> print_it_all(movies)
  2. The Holy Grail
  3. 1975
  4. Transformer
  5. 阿甘正传
  6. 2010
  7. 2007
  8. The Life of Brian
  9. 1979
  10. The Meaning of Life
  11. 1983

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

  1. def print_it_all(the_list,level):
  2. for each_item in the_list:
  3. if isinstance(each_item,list):
  4. print_it_all(each_item,level+1)
  5. else:
  6. for tab_stop in range(level):
  7. print("\t",end = '')
  8. print(each_item)

看一下结果:

  1. print_it_all(movies,0)
  2. The Holy Grail
  3. 1975
  4. Transformer
  5. 阿甘正传
  6. 2010
  7. 2007
  8. The Life of Brian
  9. 1979
  10. The Meaning of Life
  11. 1983

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

  1. def print_it_all(the_list,indent = False,level = 0):
  2. for each_item in the_list:
  3. if isinstance(each_item,list):
  4. print_it_all(each_item,indent,level+1)
  5. else:
  6. if indent:
  7. for tab_stop in range(level):
  8. print("\t",end = '')
  9. print(each_item)

看看结果怎么样:

  1. >>> print_it_all(movies)
  2. The Holy Grail
  3. 1975
  4. Transformer
  5. 阿甘正传
  6. 2010
  7. 2007
  8. The Life of Brian
  9. 1979
  10. The Meaning of Life
  11. 1983
  12. >>> print_it_all(movies,indent = True)
  13. The Holy Grail
  14. 1975
  15. Transformer
  16. 阿甘正传
  17. 2010
  18. 2007
  19. The Life of Brian
  20. 1979
  21. The Meaning of Life
  22. 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. 不基于比较的排序算法:Counting-sort和Radix-sort

  2. 三剑客-sed(简写)

    打印操作:n命令所有行打印,第二行打印两遍 sed '2p' passwd只打印第二行sed -n '2p' passwd打印1~3行 sed -n '1,3p' passwd 打印带有'root'的 ...

  3. Docker 环境下部署 redash

    环境: centos7 官网:https://redash.io/help/open-source/dev-guide/docker 一.安装步骤 1.虚拟机安装 安装vmware,并安装centos ...

  4. React 长列表修改时避免全体渲染

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script ...

  5. win7(64位旗舰版)visual studio 2017无法安装及vs2015闪退问题解决方式

    折腾了两天,几乎试了网上说的所有方法(就差重装系统了,看到有人说重装系统之后还是同样的问题,果断放弃重装),visual studio 2017的安装问题终于解决了,为了帮助同样还在折腾的初级开发者们 ...

  6. MongoDB的优势应用场景和配置

    一:MongoDB的简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案 MongoDB是一个介于关系数据库和非关系数据库之间的 ...

  7. 多线程(三) 同步synchronized

    五.同步 1.锁 多线程程序一般是为了完成一些相同的工作而存在的,因此有时间也会共享一些资源,例如对象.变量等等,此时如果不对各个线程进行资源协调,就会出现一些冲突,从而导致程序功能失效.例如下面的示 ...

  8. vue中的各种属性

    data new vue({ data:{ 'a':1 } }) 是一个实例,data直接是一个对象 vue.component('my',{ template:'', props:['title'] ...

  9. 京东POP店铺使用京东物流,如何拦截订单

    先进入物流工作台:https://wl.jdwl.com/ 然后操作中心-销售订单查询 然后点击展开按钮 粘贴要查询的订单号 勾选订单,点击取消按钮

  10. spark读取hbase(NewHadoopAPI 例子)

    package cn.piesat.controller import java.text.{DecimalFormat, SimpleDateFormat}import java.utilimpor ...