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‘, ‘1‘], [‘b‘,‘2‘], [‘c‘,‘3‘],[‘d‘,‘4‘]] 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))