索引所有元素都是有编号的,从0开始递增,这些元素可以通过编号访问
>>>greeting=’Hello’
>>>greeting[0]
‘H’
python会从右边最后一个元素开始计数,最后一个元素的问之是-1。
>>>greeting[-1]
‘0’
字符串本身也可以直接使用索引,而不需要一个变量引用
>>>’Hello’[1]
‘e’
#2-1索引示例
#根据给定的年月日打印出来
months= [ 'January','Februart','March','April','May','June','July','August','September','October','November',
'December']
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]
print month_name + ' ' + str(day_number) + ',' +year
使用索引来访问单个元素,可以使用分片操作来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现:
>>>numbers=[1,2,3,4,5,6,7,8,9]
>>>numbers[3:6]
[4,5,6]
访问最后3个元素
>>>numbers[-3:]
[7,8,9]
tip:[-3 : -1]访问元素为[7,8],[-3:0]访问结果为[]
访问开始3个元素
>>numbers[:3]
[1,2,3]
访问整个序列(可以将2个索引置空)
>>>number[:]
[1,2,3,4,5,6,7,8,9]
#2-2分片示例
#URL
url=raw_input('Please enter the URL: ')
domain=url[4:-4]
print "Domain name: " + domain
进行分片时,分片的开始和结束点需要进行指定,而另外一个参数步长,通常是隐式设置的,在普通分片总,步长是1,分片操作则按照这个补偿遍历序列的元素
>>>numbers[0:9:1]
[1,2,3,4,5,6,7,8,9]
步长为2个分片则会间隔一个元素
numbers[0:9:2]
[1,3,5,7,9]
步长不能为0,但步长可以是负数,从右到左提取元素
同构加好可以进行序列的连接操作:
>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
>>>’Hello,’ + ‘world!’
‘Hello,world!’
>>>[1,2,3]+’world!’
错误,列表和字符串无法连接,只有同类型的序列才能进行连接操作
用数字X乘以一个序列会生成新的序列,在新的序列中,原来的序列将被重复X次
>>>’python’ * 5
‘python python python python python’
>>>[42] *2
[42,42]
检查一个值是否在序列中,可以用in运算符
>>>permissions=’rw’
>>>’w’ in permissions
Trus
>>>’x’ in permissions
False
>>>users= [‘mlg’,’foo’,’bar’]
>>>raw_input(‘Enter your username: ‘)in users
Enter your user name: mlh
True
>>>number = [100,34,678]
>>>len(numbers)
3
>>>max(numbers)
678
>>>min(numbers)
34