通过例子学python(2.2)
2.2 通用序列操作
#2.2 通用序列操作
#所有序列类型都可以进行的操作:索引indexing,分片sliceing,加adding,乘multiplying,成员资格,
#计算序列长度,找出最大元素,最小元素的内建函数。 #2.2.1 索引
#使用负数索引时,最后一个元素的编号为-1。
greeting = 'Hello'
print(greeting[0])
print(greeting[-1]) #字符串字面值可以直接进行索引
print('zhangxin'[0], 'lyj'[-1]) #直接对返回结果进行索引操作
#fourth = raw_input('Year:')[3] #Year:2013
#print(fourth) #3 #根据给定的年月日以数字形式打印出日期
months = ['January', 'Febuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
print(months) #以1到31的数字作为结果的列表
endings = ['st', 'nd', 'rd'] + 17 * ['th'] + ['st', 'nd', 'rd'] + 7 * ['th'] + ['st']
print(endings) 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]
day_name = day + endings[day_number-1] print month_name + ' ' + day_name + '.' + year
# -*- coding: cp936 -*-
#ch020202.py # 2.2.2 分片 #分片:提取序列的一部分。第1个索引是提取部分第1个元素的编号,最后的索引是分片之后剩下部分的第1个元素的编号
numbers = [0, 1,2,3,4,5,6,7,8,9,10]
print(numbers[3:6]) #可以使用负数索引
print(numbers[-3:-1])
#求序列的后部分,置空最后一个索引即可
print(numbers[-3:])
#若求前半部分,则置空前一个索引即可
print(numbers[:3])
print(numbers[:-3]) #复制整个序列,则两个索引都置空
print(numbers[:])
print(numbers[0:100])#后一个索引超出范围不会报错。 #步长:step length
# 不能为0,但是可以为负数
print('numbers[:] 等同于numbers[::1]')
print(numbers[::1])
print(numbers[0:5:3])
print(numbers[8:2:-2]) #2.2.3 序列相加
print("#2.2.3 序列相加")
#使用加号可以对两个序列进行相加
#两种相同类型的序列才能相加
print([1,2,3] + [4,5,6] + [-1, -2, -3])
print('Hello, ' + 'world!') #2.2.4 乘法
print('#2.2.4 乘法')
#用数字x乘以一个序列会生成新的序列,在新的序列中,原来的序列会重复x次
print('python' * 5)
print([1, 2, 3] * 3) #None是一个python的内建值,它表示这里什么也没有。
print("初始化一个长度为10的列表")
print([None] * 10) #2.2.5 成员资格
#为了检查一个值是否在序列中, 可以使用in运算符,in检查某个条件是否为真,然后返回布尔值。
#条件为真返回True,条件为假返回False。
print('#2.2.5 成员资格')
permissions = 'rw'
print('i' in permissions)
print('w' in permissions) #检查用户名和pin码
database = [['a', ''], ['b',''], ['c',''],['d','']]
username = raw_input('User name:')
pin = raw_input('PIN code:')
if [username,pin] in database : print 'Access granted' #2.2.6 长度、最小值和最大值
print('#2.2.6 长度、最小值和最大值')
#len : 序列中所包含元素的数量
#max : 序列中最大的元素
#min : 序列中最小的元素
#max min函数参数可以直接以多个数字作为参数
numbers = [100, 34, 678]
print(max(numbers))
print(min(numbers))
print(len(numbers))
print(max(5, 10, 100))
print(min(3, 8, 15))
通过例子学python(2.2)的更多相关文章
- 通过例子学python(2.1)
第二章 列表和元组 2.1 序列概览 #第2章 列表和元组 #2.1 序列概览 #序列sequence , 序列中每一个元素被分配一个序号,即元素的位置,也称为索引. #从前往后,0,1,2,3,:从 ...
- 通过例子学python(1)
第一章 基础知识 1.4 数字和表达式 # -*- coding: cp936 -*- # 1.4 数字和表达式 # ** 表示幂(乘方)运算 #1.4.1 长整型数 print(9999999999 ...
- Python基础练习题100例(Python 3.x)
1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...
- 《跟孩子学Python》
1:Python对象之间的赋值是内容赋值而不是引用赋值 a = ["aaa","bbb","ccc"] b = a print a prin ...
- 耗子学Python了(2)__Python开发“Hello World”
一:开发工具 在网上看到的用的开发工具Aptana Studio,我下载的是Aptana_Studio_3_Setup_3.6.1.exe,在安装的过程中啊,出现了各种问题,然后安装后了也出现打不开的 ...
- 耗子学Python了(1)___Python环境配置
一:写在开始的开始 最近我们团对的老大问我想看什么书,我让老大买了一本<Python 3面向对象编程>,所以在看的时候边敲边实践,决定在自己电脑配置下相应的环境,然后开始Python的学习 ...
- 跟着官网的例子学Reacjs (一)FilterableProductTable
最近开始学习React,发现最好的方法不是看这个书那个书,而是直接上官网,一步步的跟着学习,真的获益匪浅.许多翻译的书上漏掉的知识点都可以学到. 入门的一些准备工作可以参照官网的步骤,引入依赖的核心包 ...
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...
- python相似模块用例(一)
一:threading VS Thread 众所周知,python是支持多线程的,而且是native的线程,其中threading是对Thread模块做了包装,可以更加方面的被使用,threading ...
随机推荐
- 转: angularjs 指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效
angular的坑很多 例子: 在directive的link中有一个$http请求,当请求完成后根据返回的值动态做element.append('......');这个操作, 能显示没问题,可问题是 ...
- PHP 学习笔记 (二)
PHP中的错误级别: PHP中的报错有3中级别: NOTICE.WARNING.ERROR. NOTICE是级别最轻的一种,一般表示代码不规范,但是程序是可以正常运行的 Warning是比NOTICE ...
- [Introduction to programming in Java 笔记] 1.3.8 Gambler's ruin simulation 赌徒破产模拟
赌徒赢得机会有多大? public class Gambler { public static void main(String[] args) { // Run T experiments that ...
- 【转】Hibernate各种主键生成策略与配置详解
原文转自:Fra~~kaka's Blog 1.assigned 主键由外部程序负责生成,在 save() 之前必须指定一个.Hibernate不负责维护主键生成.与Hibernate和底层数据库都无 ...
- Visual c++ 2012 软件错误
vs2012 未能正确加载"Visual C++ Language Manager Package"包 解决办法 如下图所示: 到官网下载更新即可. http://www.micr ...
- Sevlet局部变量初始化
//java 代码部分package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java. ...
- ASP.NET MVC轻教程 Step By Step 4——Model、View和Controller
ASP.NET MVC中的Model(数据模型)主要包括定义数据结构.数据库读写.数据验证等等和对象处理相关的工作. 在解决方案资源管理器中找到Model文件夹,点击右键,添加一个新类,名为“Mess ...
- decimall类型数据
同样是decimal(18,5) 和 decimal(18,4) 在VB中经过几次转化过后,数据就有可能改变. 遇到的情况 decimal(18,5)到 decimal(18,4)转换过程中数 ...
- 横向浅谈移动技术------( 原生,混合,web --- 谁能问鼎移动开发的明天)
目前移动互联网基本采用了NativeApp.WebApp.HybridApp三种开发模式,很难说这三种模式那种更优越,目前的情况可以说是三分天下吧,不同的开发者可以根据自己的实际情况选择不同的开发模式 ...
- js共享onload事件
问题:通过js进行事件绑定,必须在HTML文档加载完成后再执行js脚本,否则可能因DOM不完整导致无法完成预计的效果,但对于不同的需求如何选用最佳的实现方式呢,这里做了整理,可以做参考. 一.对于小型 ...