# -*- 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. spring mvc之@ModelAttribute注解

    1.@ModelAttribute注释void返回值的方法 @Controller public class HelloModelController { @ModelAttribute public ...

  2. 【openstack N版】——手把手教你制作生产环境镜像

    一.CentOS7镜像制作 1.1创建CentOS7虚拟机 1.1.1创建虚拟磁盘 #注:尽量将虚拟机创建在控制节点,以便于将镜像上传至glance [root@linux-node1 ~]# qem ...

  3. myeclipse2015 安装配置

    本人提供<myeclipse2015 安装过程及破解资源> 链接:http://pan.baidu.com/s/1o79wwMQ 密码:crnp 安装步骤 1.安装jdk: http:// ...

  4. php 与redis 结合 使用predis

    分为2步骤 1.下载predis 2.使用predis,让php与redis进行通信 <?php require('autoload.php'); $redis = new Predis\Cli ...

  5. 【2-26】string/math/datetime类的定义及其应用

    一string类 (1)字符串.Length    Length作用于求字符串的长度,返回一个int值 (2)字符串.TrimStart();  TrimStart():可删除前空格,返回一个stri ...

  6. 关于java泛型

    <T> 代表的是泛型 ,实例化的时候将传入真正的数据类型,比如: public interface BaseProvider<T>{ public T test(); } 实例 ...

  7. std::copy性能分析与memmove机器级实现

    复制数据的快速方法std::copy C++复制数据各种方法大家都会,很多时候我们都会用到std::copy这个STL函数,这个效率确实很不错,比我们一个一个元素复制或者用迭代器复制都来的要快很多. ...

  8. VMware10虚拟机安装mac os x 10.9

    身边越来越多盆友们购进mac本子,不断地诱惑着小编,近日一直想着买一台mac本子装逼,后来想想用来开发(非ios)可能会遇着各种问题,就先在虚拟机上玩玩看,毕竟1,2万RMB不是小数. 在mac os ...

  9. mysql 索引篇

    一.索引优化   索引优化主要还是依赖explain命令,关于explain命令相信大家并不陌生,具体用法和字段含义可以参考官网explain-output,这里需要强调rows是核心指标,绝大部分r ...

  10. ASP.NET Core MVC之ViewComponents(视图组件)

    前言 大概一个来星期未更新博客了,久违了各位,关于SQL Server性能优化会和ASP.NET Core MVC穿插来讲,如果你希望我分享哪些内容可以在评论下方提出来,我会筛选并看看技术文档来对你的 ...