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)的更多相关文章

  1. 通过例子学python(2.1)

    第二章 列表和元组 2.1 序列概览 #第2章 列表和元组 #2.1 序列概览 #序列sequence , 序列中每一个元素被分配一个序号,即元素的位置,也称为索引. #从前往后,0,1,2,3,:从 ...

  2. 通过例子学python(1)

    第一章 基础知识 1.4 数字和表达式 # -*- coding: cp936 -*- # 1.4 数字和表达式 # ** 表示幂(乘方)运算 #1.4.1 长整型数 print(9999999999 ...

  3. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  4. 《跟孩子学Python》

    1:Python对象之间的赋值是内容赋值而不是引用赋值 a = ["aaa","bbb","ccc"] b = a print a prin ...

  5. 耗子学Python了(2)__Python开发“Hello World”

    一:开发工具 在网上看到的用的开发工具Aptana Studio,我下载的是Aptana_Studio_3_Setup_3.6.1.exe,在安装的过程中啊,出现了各种问题,然后安装后了也出现打不开的 ...

  6. 耗子学Python了(1)___Python环境配置

    一:写在开始的开始 最近我们团对的老大问我想看什么书,我让老大买了一本<Python 3面向对象编程>,所以在看的时候边敲边实践,决定在自己电脑配置下相应的环境,然后开始Python的学习 ...

  7. 跟着官网的例子学Reacjs (一)FilterableProductTable

    最近开始学习React,发现最好的方法不是看这个书那个书,而是直接上官网,一步步的跟着学习,真的获益匪浅.许多翻译的书上漏掉的知识点都可以学到. 入门的一些准备工作可以参照官网的步骤,引入依赖的核心包 ...

  8. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  9. python相似模块用例(一)

    一:threading VS Thread 众所周知,python是支持多线程的,而且是native的线程,其中threading是对Thread模块做了包装,可以更加方面的被使用,threading ...

随机推荐

  1. Android 点击事件,4种回调。

    1.  继承监听接口. 2.  xml方式 : 设置 android:onClick 3. 内部类 4. 匿名类 ------------------------------------------- ...

  2. iOS 地图坐标系之间的转换WGS-84世界标准坐标、GCJ-02中国国测局(火星坐标,高德地图)、BD-09百度坐标系转换

    开发过程中遇到地图定位不准确,存在偏差.首先确认你获取到的坐标所在坐标系跟地图数据是不是相匹配的. 常用的地图SDK:高德地图使用的是GCJ-02(也就是火星坐标系),百度使用的是BD-09百度坐标系 ...

  3. Oracle 日期类型timestamp(时间戳)和date类型使用

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. jquery自适应布局

    代码整理 - uix.layout.js /** * Grace [jQuery.js] * * UIX页面布局 * 290353142@qq.com * exp: * $.uix.layout(); ...

  5. wel

    欢迎来到mathant.com 这个网站是什么 这个网站是我搭建在阿里云vps上的个人网站.目前的用途是充当个人博客和云存储,当然它的功能不止如此.我会在以后的日子里完善他,希望他能变得更好.目前我在 ...

  6. 获取动态SQL查询语句返回值(sp_executesql)

    在写存储过程时经常会遇到需要拼接SQL语句的情况,一般情况下仅仅是为了执行拼接后的语句使用exec(@sql)即可. 而今天的一个存储过程却需要获取动态SQL的查询结果. 需求描述:在某表中根据Id值 ...

  7. dotnet core多平台开发体验

    前言 随着net core rc2的发布,园子里面关于net core的入门文章也也多了起来,但是大多数都是在一个平台上面来写几个简单的例子,或者是在解释代码本身,并没有体现说在一个平台上面创建一个项 ...

  8. [转]IoC框架

    1 IoC理论的背景     我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑.   图1:软件系统中耦合的对象 如果 ...

  9. SQL Server日期函数之获得一个月中的天数

    SQL Server日期函数之获得一个月中的天数在实际中的应用比例还是占为多数的,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱,望会在以后的学习或是工作中带来很大的帮助. 获得一个月 ...

  10. 如何分析matlab程序的主要效率问题

    利用profile on 在需要分析效率的程序段前后加入 profile on profile off 然后,在common line中输入profile viewer即可观察到这段程序的效率