序列是Python中最基本的数据结构,序列中每个元素被分配一个序号——即元素的位置,也称索引,第一个索引是0,第二个索引是1,以此类推。 Python包括6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。 下面介绍序列的基本通用操作:索引、切片、加、乘、成员资格、求最值和长度。
----------索引示例----------
根据给定的年月日以数字形式打印出日期
months = ['January','February','March','April','May','June',
'July','August','September','October','November','December'
]
# 以1~31的数字作为结尾的列表
endings = ['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']
year = raw_input('Year: ')
month = raw_input('Month(1-12): ')
day = raw_input('Day(1-31): ')
month_number = int(month)
day_number = int(day)
# 记得要将月份和天数减去1,以获得正确的索引
month_name = months[month_number-1]
ordinal = day+endings[day_number-1]
print month_name+ ' '+ordinal + ', '+year
----------切片示例----------
对“http://www.something.com”形式的URL进行分割
url = raw_input('Please enter the URL: ')
domain = url[11:-4]
print "Domain name: "+domain
其他的例子
numbers = [0,1,2,3,4,5,6,7,8,9]
print numbers[:] #打印numbers中所有的值
print numbers[0:3] #打印0,1,2
print numbers[0::2] #等价于numbers[0:10:2]
print numbers[0:10:2]
print numbers[-10:-1] #等价于numbers[0:9]
print numbers[-1:0:-1] #倒着打印
----------序列加、乘、成员资格、长度、最值----------
序列相加,主要只有两种相同类型的序列才能相加(即连接操作)
print [1,2,3]+[4,5,6] #结果为[1,2,3,4,5,6]
print "hello,"+"world!"
用数字x乘以一个序列会生成新的序列,而在新的序列中,原来的序列将会被重复x次
print 'python'*5
print [42]*10
print [0]*10
seq = [None]*10
print seq
以正确的宽度在剧中的“盒子”内打印一个句子
sentence = raw_input("Secntence: ")
screen_width = 80
text_width = len(sentence)
box_width = text_width + 6
left_margin = (screen_width-box_width)//2
print
print ' '*left_margin + '+'+'_'*(box_width-2)+'+'
print ' '*left_margin+ '|'+' '*(box_width-2)+'|'
print ' '*left_margin+'|'+' '*2+sentence+' '*2 +'|'
print ' '*left_margin+ '|'+' '*(box_width-2)+'|'
print ' '*left_margin + '+'+'_'*(box_width-2)+'+'
print
用in运算符来检测一个值是否在序列中
permissions = 'rw'
print 'w' in permissions
users = ['mlh','foo','bar']
print raw_input('Enter your user name: ') in users
subject = '$$$ Get rich now!!! $$$'
print '$$$' in subject
序列成员资格示例
database = [
['albert','1234'],
['dilbert','4242'],
['smith','7524'],
['jones','9843']
]
username = raw_input('User name: ')
pin = raw_input('PIN code: ')
if [username,pin] in database:
print 'Access granted'
长度、最大值、最小值
内建函数 len、max、min
numbers1 = [100,34,678]
print len(numbers1)
print max(numbers1)
print min(numbers1)