# -*- coding:utf-8 -*-

#最基本的数据结构:序列,索引从0开始
#python包括6种内建的序列
#最常用的序列包括:列表,元祖 #列表
edward = ['Edward Gumby',42]
print edward #列表的元素可以是列表
john=['John Smith',50]
database = [edward, john]
print database #python之中还有一种名为容器的数据结构。
#序列(如列表和元组)和映射(如字典)是两类主要的容器。
#序列的每个元素都有自己的编号,而映射中的每一个元素则有一个名字(也称为键)
#既不是序列也不是映射的容器类型:集合(set) #序列(list\triple)的通用操作:索引、分片、加、乘、以及检查某个元素是否属于序列的成员、计算序列长度、找出最大元素、找出最小元素、迭代 #字符串使用索引
greeting = 'hello'
print greeting[0]
print greeting[-1] #字符串字面值直接使用索引
print greeting[1] #如果一个函数返回一个序列,那么可以直接对返回结果进行索引操作。
#fourth = raw_input('Year: ')[3]
#print fourth #输入年月日的数字,打印日期
#为方便后续笔记调试,该段代码已被注释掉
'''
months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
] endings = ['st','nd','rd'] + 17 *['th']\
+ ['st','nd','rd'] + 7 *['th']\
+ ['st'] year = raw_input('Year: ')
month = raw_input('Month (1-12):')
day = raw_input('Day (1-31):') month_number = int(month)
day_number = int(day) month_name = months[month_number-1]
ordinal = day + endings[day_number-1] print month_name + ' ' + ordinal + ' ' + year
''' #分片,t[a:b]不包括t[b]
tag = 'https://www.quora.com/#'
tmpTag = tag[8:21]
print tmpTag #www.quora.com
print tag[8:-2] #www.quora.com #对列表分片
numbers = [1,2,3,4,5,6,7,8,9,10]
print numbers[3:6] #[4, 5, 6] #访问后几个元素
print numbers[8:] print numbers[-3:-1] #[8, 9] print numbers[-3:0] #[] print numbers[-3:] #[8, 9, 10] print numbers[:3] #[1, 2, 3] print numbers[:] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #对http://www.quora.com形式的URL进行分割
'''
url = raw_input("Please enter the url:")
domain = url[11:-4]
print "Domain name: " + domain
''' #更大的步长
print numbers[0:10:1] #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print numbers[0:10:2] #[1, 3, 5, 7, 9] print numbers[3:6:3] #[4] print numbers[::3] #[1, 4, 7, 10] #步长可以是负数
print numbers[8:3:-1] #[9, 8, 7, 6, 5] #范围和步长不一致,输出为空
print numbers[3:8:-1] #[] print numbers[::-2] #[10, 8, 6, 4, 2] #一端没有指定,步长为负的情况:起始点大于结束点
print numbers[5::-2] #[6, 4, 2]
print numbers[:5:-2] #[10, 8] #序列相加
print [1,2,3]+[4,5,6] print 'Hello ' + 'world!' '''
print [1,2,3] + 'world!'
#TypeError: can only concatenate list (not "str") to list
''' #乘法
print 'python '*5 print [42] * 10 #None、空列表 和 初始化
sequence = [None]*10
print len(sequence) #以正确的宽度在居中的“盒子”内打印一个句子
'''
sentence = raw_input("Sentence: ")
screen_width = 80
text_width = len(sentence)
box_width = text_width + 20
left_margin1 = (screen_width - box_width) // 2
left_margin2 = (screen_width - text_width - 4) // 2 print
print ' ' * left_margin1 + '+' + '-' * (box_width -2) + '+'
print ' ' * left_margin2 + '| ' + ' ' * text_width + ' |'
print ' ' * left_margin2 + '| ' + sentence + ' |'
print ' ' * left_margin2 + '| ' + ' ' * text_width + ' |'
print ' ' * left_margin1 + '+' + '-' * (box_width -2) + '+'
print
''' #成员资格
permissions = 'rw'
print 'w' in permissions
print 'x' in permissions
users = ['mlh', 'foo', 'bar']
#print raw_input('Enter your user name: ') in users subject = 'Get rich now!!'
print 'rich' in subject #True #检查用户名和输入码
'''
database = [
['albert', '1234'],
['dilbert', '4242'],
['smith', '7524'],
['jones', '8765']
]
username = raw_input('User name: ')
pin = raw_input('PIN code: ') if [username, pin] in database: print 'Access granted'
''' #长度、最小值、最大值
numbers = [100, 34, 765]
print len(numbers)
print max(numbers)
print min(numbers)

《Python基础教程》第2章读书笔记(1)的更多相关文章

  1. python基础教程第2章——列表与元组笔记

    1.序列是Python中最基本的数据结构.序列中的每个元素被分配一个序列号——元素的位置,也称索引,第1个索引是0,第2为1,以此类推.序列中的最后1个元素为-1,倒数第2个位-2. python中有 ...

  2. python基础教程-第三章-使用字符串

    本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...

  3. python基础教程第4章——字典

    1.映射(mapping):通过名字引用值的数据结构.字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里.键可以是数字.字符串甚至是元组. 2.字 ...

  4. python基础教程第5章——条件循环和其他语句

    1.语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可穿件语句块.块中的每行都应该缩进同样的量.在Phyton中冒号(:)用来标识语句块的开始,块中 ...

  5. 《Python基础教程》第一章:基础知识

    如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...

  6. python基础教程第6章——抽象

    1.函数的定义,使用def(或“函数定义”)语句: def hello(name): return ‘Hello.'+name+'!' def fibs(num): result=[0,1] for ...

  7. python基础教程第3章——字符串

    1.字符串格式化 字符串格式化操作符%+转换标志+最小字段宽度+点后跟精度值+转换类型 String模块提供另外一种格式化方式 from string import Template s=Templa ...

  8. 《Java基础教程》第一章学习笔记

    Java 是什么呀! 计算机语言总的来说分成机器语言,汇编语言,高级语言.其中Java一种高级计算机语言,它是一种可以编写跨平台应用软件,完全面向对象的程序设计语言. Java划分为三个技术平台,Ja ...

  9. 《Python基础教程》第二章:列表和元组(2)

    list函数可以将字符串转换为列表 ' '.join(somelist)可以将列表转换为字符串 从列表中删除元素可以使用del语句来实现 方法是与对象有紧密联系的函数:对象.方法(参数) append ...

  10. 《Python基础教程》第二章:列表和元组(1)

    列表可以修改,元组则不能 字符串就是一个由字符组成的序列 使用分片操作来访问一定范围内的元素,分片操作的实现需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个不包含在分片内. 如果分 ...

随机推荐

  1. 定制 cloud-init - 每天5分钟玩转 OpenStack(155)

    这是 OpenStack 实施经验分享系列的第 5 篇. 对于 Linux 镜像,cloud-init 负责 instance 的初始化工作.cloud-init 功能很强大,能做很多事情,而且我们可 ...

  2. 使用yum安装cmake

    一.搜索yum源中的CMake,查看源中最新的版本是什么,使用命令[root@localhost ~]# yum search cmake ,如果搜索出的结果过多可以配合grep命令来控制搜索结果. ...

  3. Eclipse通过jdbc连接数据库制作简单登陆界面

    一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...

  4. 每天一个linux命令(53)--ps命令

    要毁掉一天,从早上开始. Linux中的ps命令是 process status 的缩写.ps 命令用来列出系统中当前运行的那些进程.ps 命令列出的是当前那些进程的快照,就是执行ps 命令的那个时刻 ...

  5. ADO.net参数化查询陷阱

    避免SQL漏洞注入攻击,往往采用的是参数化查询!然而在使用参数化查询中,往往为了方便就直接通过构造方法来进行数据的初始化了,然而这样就引发一个这样的问题,当参数值为0时,就出现参数为空的情况了. 一. ...

  6. Oracle 重建控制文件

    前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...

  7. 转:js中cookie的使用详细分析

    cookie机制将信息存储于用户硬盘,因此可以作为全局变量,这是它最大的一个优点.它可以用于以下几种场合. (1)保存用户登录状态.例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就 ...

  8. KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun

    koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...

  9. 算法模板——平衡树Treap

    实现功能如下——1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大 ...

  10. NSPredicate 查询/搜索

    IOS NSPredicate 查询.搜索   简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 最常用到的函数 + (NSP ...