Pytho的六种内建序列:列表,元组,字符串,Unicode字符串,buffer对象,xrange对象。
列表和元组区别:列表可以修改,元组不能。
通用序列操作:索引indexing,分片slicing,加adding,乘multiplying以及检查某个元素是否属于序列的成员(成员资格)。
除此之外,Python还有计算序列长度,找出最大元素和最小元素的内建函数。
索引
序列中元素都是有编号的—从0开始递增。
>>>greeting='hello'
>>>greeting[0]
'h'
负数索引时,从最后一个元素开始计数,最后一个元素的位置编号是-1.
>>greeting[-1]
'o'
也可以直接用字符串面值索引
>>'hello'[1]
'e'
索引示例:
months=['January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December',
]
#以1~13的数字作为结尾的列表
endings=['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']
year =input('Year: ')
month =input('Month(1-12): ')
day =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)
程序执行结果:
Year: 1974
Month(1-12): 8
Day(1-31): 16
August 16th.1974
2.分片
使用分片来访问一定范围内的元素。分片通过冒号隔开的两个索引来实现。
Type "copyright", "credits" or "license()" for more information.
>>> tag='Python web site'
>>> tag[9:30]
'http://www.python.org'
>>> tag[32:-4]
'Python web site'
>>>
如果分片所得部分包括序列结尾的元素,只需质控最后一个索引即可
>>>numbers[-3:]
[8,9,10]
该方法同样适用于序列开始的元素
>>>numbers[:3]
[1,2,3]
如果需要复制整个序列,可以将两个索引都置空。
>>>numbers[ : ]
步长:
如果步长被设置为比1更大的数,那么就会跳过某些元素。例如,步长为2的分片包括的是从开始到结束每隔1个的元素
>>>numbers[0:10:2]
[1,3,5,7,9]
注:步长可以为负数,此时分片从右到做提取元素。
序列相加
通过使用加运算符可以进行序列的连接操作:
>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
两种类型相同的序列才能进行连接操作。
乘法
用数字x乘以一个序列会生成新的序列,而在新的序列中,原来的序列将会被重复x此。
None,空列表,初始化
初始化长度为10的空列表:
>>>sequence=[None]*10
成员资格
in运算符:检查一个值是否在序列中(布尔运算符)
>>> p='rw'
>>> 'w' in p
True
长度,最小值,最大值
内建函数:
len:返回序列中包含的元素数量。
min:返回序列中最大元素。
max:返回序列中最小元素。