通过例子学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', '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))

 

posted on 2014-01-10 00:50  cv_ml_张欣男  阅读(368)  评论(0编辑  收藏  举报

导航