Python学习笔记:第一次接触
用的是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学习笔记:第一次接触的更多相关文章
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- 【python学习笔记】10.充电时刻
[python学习笔记]10.充电时刻 任何python都可以作为模块倒入 *.pyc:平台无关的经过编译的的python文件, 模块在第一次导入到程序中时被执行,包括定义类,函数,变量,执行语句 可 ...
- python学习笔记(一)、列表和元祖
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
- 近期Python学习笔记
近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...
- Deep learning with Python 学习笔记(9)
神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...
- Python学习笔记_Python对象
Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...
- Python学习笔记之生成器、迭代器和装饰器
这篇文章主要介绍 Python 中几个常用的高级特性,用好这几个特性可以让自己的代码更加 Pythonnic 哦 1.生成器 什么是生成器呢?简单来说,在 Python 中一边循环一边计算的机制称为 ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- Python学习笔记之类与对象
这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...
- Python学习笔记之从文件中读取数据
10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...
随机推荐
- 一款完美代替微信小程序原生客服消息的工具:
一.设置:无需开发,多种回复(自动+人工) 自动回复形式有3种: 打开客服消息(用户只要和客服互动过一次,再次点击进入,会收到设置好的自动回复) 关键词回复(用户在小程序中回复某个关键词内容时,会 ...
- vue--微信支付
1.当前页面没有注册: 需要登录微信支付商家后台,添加支付路径授权 2.安装 weixin-js-sdk 微信SDK npm install weixin-js-sdk --save 3.引入 imp ...
- 前端框架:Angular React 和 Vue的比较
前端这几年的技术发展很快,细分下来,主要可以分成四个方面: 1.开发语言技术,主要是ES6&7,coffeescript,typescript等: 2.开发框架,如Angular,React, ...
- jQuery 遍历 - 祖先
通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先. 向上遍历 DOM 树 这些 jQuery 方法很有用,它们用于向上遍历 DOM 树: parent() parents() pare ...
- 外网访问VMware(Centos7.0,NAT模式)搭建的web服务器应用
首先参考 https://www.cnblogs.com/studyhard-cq/p/11551755.html 设置好NAT模式,能访问公网. 1.打开VMware,点击左上角编辑 ...
- Atcoder Regular 099 暴力区间扩张 n/dig(n)极值打表 团分割背包
C 直接把第一次加在哪里for一遍即可 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) u ...
- Summer training round2 #10(Training 30)
A:签到题 B!:搜索+DP #include<bits/stdc++.h> #define mp make_pair #define pi pair<int,int> usi ...
- redis事务(转载)
原文地址:http://blog.csdn.net/hechurui/article/details/49508749 Redis事务 首先,Redis本身是单线程的. redis中的事务(trans ...
- 免费自动化测试工具Katalon Studio入门
Katalon Studio 一.简介: Katalon Studio 是一个在网页应用.移动和网页服务方面功能强大的自动化测试解决方案.基于 Selenium 和 Appium 框架,Katalon ...
- 最近老是有兄弟问我,Vue双向绑定的原理,以及简单的原生js写出来实现,我就来一个最简单的双向绑定,原生十行代码让你看懂原理
废话不多说直接看效果图 代码很好理解,但是在看代码之前需要知道Vue双向绑定的原理其实就是基于Object.defineProperty 实现的双向绑定 官方传送门 这里我们用官方的话来说Object ...