列表的索引操作
列表是序列类型的一种数据结构,列表的各个元素用方括号括起来,通过逗号分隔。
>>> wang=['wang',42]
>>>
列表可以包含其他列表,构成信息列表,这个列表就是一个数据库。
>>> wang=['wang',42]
>>> cui=['cui',43]
>>> data=[wang,cui]
>>> data
[['wang', 42], ['cui', 43]]
>>>
列表中的元素都有编号,顺着字符串的元素索引从0开始递增,逆着字符串元素索引从-1开始递减。元素通过索引访问。
>>> word='wang'
>>> word[0]
'w'
>>> word[-1]
'g'
>>>
字符串能直接使用索引,不用变量引用,访问元素。
>> 'wang'[0]
'w'
>>> 'wang'[-1]
'g'
>>>
函数调用返回一个序列,可直接对返回结果进行索引操作。例如:你对用户输入年份的第三个数字感兴趣。
>>> third=raw_input('year:')[2]
year:2016
>>> third
'1'
>>>
索引实例:
#根据给定的年月日以数字形式打印出日期
months=[
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'Nuvember',
'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
程序执行的结果为
>>> ================================ RESTART ================================
>>>
year:2016
month(1-12):12
day(1-31):13
December 13th,2016
>>>