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. iOS军火库-好用的ActionSheetView

    GitHub地址 一个自定义的ActionSheetView,支持显示标题,默认选中,使用block回调. 使用说明 [GLActionSheet showWithDataSource:@[@&quo ...

  2. c#equals相关

    1.==是直接比较值类型的值或引用类型的引用地址,但==不能用于struct,struct只能用equals来比较.==一般情况下与object.equals得到的结果是相等的. 2.Referenc ...

  3. 3 委托、匿名函数、lambda表达式

    委托.匿名函数.lambda表达式 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法.C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方 ...

  4. Listview控件实现已选择效果

    Winform中用Listview控件实现更新点击选择后已选择效果,如图: 代码如下: private void frmSelect_Load(object sender, EventArgs e) ...

  5. 用vscode写博客和发布

    最近想开始写点博客什么的,然后看到在博客园注册了一个账号这么久,也没有写过文章,就想在博客园写点什么来刷个存在感,而且觉得用Markdown编辑器来写文章挺不错,但是博客园自带的Markdown编辑器 ...

  6. WPF Window异形窗口演示

    我们先通过简单的效果展示,切换展示不同图片: 我们先定义图片资源文件,我们可以在window资源中定义,下面的在app.xaml文件来定义: <Application x:Class=" ...

  7. uboot 连接脚本分析

    一.脚本分析 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm ...

  8. <meta http-equiv="pragma" content="no-cache"/>-备

    <meta http-equiv="pragma" content="no-cache"/> 网页中常常看见有这样的标记,他们是清浏览器缓存用的啊, ...

  9. 实现pushViewController:animated:的不同页面转换特效

    1. 首先要明确的是,不使用pushViewController的默认动画,所以在调用这个函数时,要将animated设置为NO.2. 使用普通的来CATransition实现转换效果,代码如下:CA ...

  10. Loading CSS without blocking render

    The principles behind these techniques aren't new. Filament group, for example, have published great ...