【head first python】1.初识python 人人都爱列表

#coding:utf-8

#创建简单的python列表
movies = ["The Holy Grail",
          "The Life of Brain",
          "The Meaning of Life"]
#可以放在同一行,但分开会更易读
#和数组一样,列表的项从零开始
print movies[1]
#>>>The Life of Brain

print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘, ‘The Meaning of Life‘]

print len(movies)
#>>>3

#在列表尾部增加append(),或删除pop()数据项,还可以在末尾增加一个数据项集合extend()
movies.pop()
print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘]
movies.append("my movie")
print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘, ‘my movie‘]
movies.extend(["another movie_1","another movie_2"])
print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘, ‘my movie‘, ‘another movie_1‘, ‘another movie_2‘]

#在列表中找到并删除一个特定项remove(),在某个特定项前插入一个数据项insert()
movies.remove("my movie")
print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘, ‘another movie_1‘, ‘another movie_2‘]
movies.insert(2,"insert movie")#第一个参数是位置,第二个是要插入的项
print movies
#>>>[‘The Holy Grail‘, ‘The Life of Brain‘, ‘insert movie‘, ‘another movie_1‘, ‘another movie_2‘]

#向列表增加更多的数据
#现在我们要向每个电影名后面添加上电影的发行年份,年份是数字,python允许在列表中混合类型
movies = ["The Holy Grail",
          "The Life of Brain",
          "The Meaning of Life"]
#初始化列表
#方案一:插入年份
movies.insert(1,1975)
movies.insert(3,1979)#注意每插入一项列表长度扩大一
movies.append(1983)
print movies
#>>>[‘The Holy Grail‘, 1975, ‘The Life of Brain‘, 1979, ‘The Meaning of Life‘, 1983]

movies = ["The Holy Grail",
          "The Life of Brain",
          "The Meaning of Life"]
#初始化列表
#方案二:从头构造列表
movies = ["The Holy Grail",1975,
          "The Life of Brain",1979,
          "The Meaning of Life",1983]
print movies
#>>>[‘The Holy Grail‘, 1975, ‘The Life of Brain‘, 1979, ‘The Meaning of Life‘, 1983]
‘‘‘对于小列表来说,第二种方法更好,比如现在,不必做复杂的运算‘‘‘

#处理列表数据
#该使用迭代了,for循环可以适用于任意大小的列表
for each_flick in movies:
    print each_flick
‘‘‘每个输出语句自动换行
>>>
The Holy Grail
1975
The Life of Brain
1979
The Meaning of Life
1983
‘‘‘
‘‘‘
字符串使用单引号和双引号均可
python大小写敏感
‘‘‘
#在列表中存储列表(列表的嵌套)
movies = [‘The Holy Grail‘, 1975, ‘The Life of Brain‘, 1979, ["Graham Chapman",["Michael Palin","John Cleese","Terry Gilliam","Eric Idle"]]]
#打印列表中的某一项
print movies[4][1][2]
#>>>Terry Gilliam
#打印嵌套列表中的每一项
for each_item in movies:
    print each_item
‘‘‘>>>
The Holy Grail
1975
The Life of Brain
1979
[‘Graham Chapman‘, [‘Michael Palin‘, ‘John Cleese‘, ‘Terry Gilliam‘, ‘Eric Idle‘]]
‘‘‘
#嵌套在内列表的下一层列表回原样打印,需要一种机制来发现列表中的某一项其实好似一个列表
#在列表中查找列表if…else
#使用什么判断条件?python有一个内置BIF可用,是isinstance(),用于检查某个特定标识符是否含有某个特定类型的数据
name = [‘Micheael‘,‘Terry‘]
a = isinstance(name,list)
print a
#>>>True
num_name = len(name)
a = isinstance(num_name,list)
print a
#>>>False
#该函数的返回值为True或False
#BIF有71多个,使用dir(__builtins__)查询python的内置方法表,具体查询使用help(某个BIF)

#重写使得嵌套列表逐项打印
movies = [‘The Holy Grail‘, 1975, ‘The Life of Brain‘, 1979,
          ["Graham Chapman",["Michael Palin","John Cleese","Terry Gilliam","Eric Idle"]]]
for item in movies:
    if isinstance(item,list):
        for item_2 in item:
            if isinstance(item_2,list):
                for i in item_2:
                    print i
            else:
                print item_2
    else:
        print item
‘‘‘
>>>
The Holy Grail
1975
The Life of Brain
1979
Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
‘‘‘
#但是每增加一层嵌套,就要多写一层重复的代码来进行判断和打印
#不重复代码,应当创建一个函数
#函数需要反复调用,在函数代码组内调用自己
def print_lol(the_list):
    for item in the_list:
        if isinstance(item,list):
            print_lol(item)
        else:
            print item
print_lol(movies)
‘‘‘
>>>
The Holy Grail
1975
The Life of Brain
1979
Graham Chapman
Michael Palin
John Cleese
Terry Gilliam
Eric Idle
‘‘‘
#太棒了,递归不必改变任何代码就可以处理任意深度的嵌套列表
#第一章就到这里结束了=w=

本文原创,转载请注明出处http://www.cnblogs.com/Archimedes/p/7140622.html

时间: 2024-10-09 20:47:34

【head first python】1.初识python 人人都爱列表的相关文章

一、初识Python ----- 人人都爱列表

python列表的创建与访问 movies = ["The Holy Grail","The Life of Brian","The Meaning of Life"] print(movies[1]) 列表常用的BIF print() 显示列表内容 len() 计算列表的数据项 append() 在列表末尾增加一个数据项         extend() 在列表末尾增加一个数据项集合 pop() 从列表末尾删除数据 remove() 找到并删除

Chapter 1 - 初识Python,人人都爱列表

这是Head First Python 第一章的笔记,主要是Python的基础知识和列表的相关内容. 基础知识 BIF:built in functions,Python的内置函数,例如print(),help(),len()等.在实现某些功能前,首先考虑是否有BIF可用. BIF属于__builtins__命名空间:但是在执行脚本时并不需要导入此空间,因为这些BIF可以被自动导入__main__的命名空间. 来自为知笔记(Wiz)

和我一起学python,初识python (life is short ,we need python)

作者:tobecrazy  出处:http://www.cnblogs.com/tobecrazy 欢迎转载,转载请注明出处.thank you! 由于项目需要(并非因为life is short),开始学习python. 1.python 是什么 和perl一样,python是一种脚本语言.由于语法简洁而清晰,比较接近伪代码 ,易于维护,逐渐开始流行起来. 高级计算机语言,规避内存指针等复杂问题 解释性语言,实时显示运行 支持多平台,linux.windows等 2.python运行环境 由于

Python入门 —— 初识Python

Python入门 —— 初识Python Python入门 —— 初识Python 一:Python介绍 1. Python是什么? Python是一门编程语言,编程语言是一门语言. 语言就是一个事物与另一个事物沟通的工具. 而编程语言则是人与计算机沟通的介质. 2. 为什么要跟计算机沟通:为了奴役计算机 奴隶主--------(人类语言)------->奴隶 人类----------(编程语言)------->计算机 3. 什么是编程? 奴隶主把想让计算机替自己做事情的逻辑用编程语言给表达出

NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例

一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,“消息队列”是在消息的传输过程中保存消息的容器. 在目前广泛的Web应用中,都会出现一种场景:在某一个时刻,网站会迎来一个用户请求的高峰期(比如:淘宝的双十一购物狂欢节,12306的春运抢票节等),一般的设计中,用户的请求都会被直接写入数据库或文件中,在高并发的情形下会对数据库服务器或文件服务器造成巨大的压力,同时呢,也使响应延迟加剧.这也说明

NoSQL初探之人人都爱Redis:(1)Redis简介与简单安装

一.NoSQL的风生水起 1.1 后Web2.0时代的发展要求 随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题: (1)对数据库高并发读写的需求 网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求.关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求

达芬奇画作赏析 为什么人人都爱达芬奇?

为什么人人都爱达芬奇? 达芬奇出生于1452年的4月15日.他不仅是一位才华横溢的艺术家,也在解剖学,工程学,生物学,数学以及建筑学中有所建树.他的发明创造与探索发现远远超出了他所在的那个时代.正如达芬奇所说:“最崇高的快乐是享受探索世界的乐趣.”BBC Culture 开辟了一个栏目让观众谈一下他们最喜爱达芬奇的哪幅作品,并且解释原因.以下是读者的回答. <女子头像>(La Scapigliata) 来自希腊的Fani Tsoukala from Athens,说道: “她就像一位女神,低头

Python 1 初识python 编码 注释

1.Python介绍 Python是一种高级语言,与JAVA C# 等同.可以编写各种应用程序,每种语言都有其合适的应用场景.而Python 的优势在于更加人性化.简便的语法规则,以及针对各种具体场景有很多前辈们编写好的代码库,这样在程序员利用Python 进行开发的时候,就可以直接调用前辈们所写好的代码,节省更多开发时间.Python本身是一个程序,Python将符合Python 编程规则的代码转换成字节码---机器码之后提供给CPU处理. 2.Python与其他语言的对比: python是一

python day1:初识Python

一.Python 简介: Python免费.开源,面向对象的解释型语言,其语法简洁,在使用中无需考虑如何管理内存等底层问题,并且支持在linux,windows等多平台运行,Python的标准库很强大,我们只需要导入它并调用其中的方法,就可以处理各种工作,Python还可以嵌入c\c++程序中,Python采用强制缩进的方式使得代码具有极佳的可读性,它合理地结合了高性能与使编写程序简单有趣的特色. python主要应用方面:自动化运维.自动化测试.大数据分析.爬虫.web等. python种类分