欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python学习(索引/切片)

程序员文章站 2022-05-31 12:48:43
一.索引 1.索引值从左到右-->从0开始,索引值从右到左-->从-1开始 取值格式var[index] >>> name = "xinfangshuo" >>> >>> name[0] 'x' >>> name[5] 'n' >>> name[-1] 'o' >>> name[-2] 'u' 2. ......

一.索引

1.索引值从左到右-->从0开始,索引值从右到左-->从-1开始

  • 取值格式var[index]
>>> name = "xinfangshuo"
>>>
>>> name[0]
'x'
>>> name[5]
'n'
>>> name[-1]
'o'
>>> name[-2]
'u'

2.注意:整型int和字典dict和集合set不支持索引取值

>>> age = 123
>>>
>>> age[1]
traceback (most recent call last):
  file "<stdin>", line 1, in <module>
typeerror: 'int' object has no attribute '__getitem__'
>>> age = "123"
>>> age[1]
'2'
>>> name = {"name1":"zhangsan","name2":"lisi","name3":"wangwu"}
>>>
>>> name[1]
traceback (most recent call last):
  file "<stdin>", line 1, in <module>
keyerror: 1
>>>
>>> set = {"zhangsan","lisi","wangwu"}
>>>
>>> set[1]
traceback (most recent call last):
  file "<stdin>", line 1, in <module>
typeerror: 'set' object does not support indexing

3.多维数组/列表,索引取值

"""多维数组,索引取值"""
>>> name = ("zhangsan","lisi","wangwu","zhaoliu","wangba",("zhengying","lizhipeng","lvlinlin"))
>>>
>>> name[5][1]
'lizhipeng'
>>>
>>> list = [1,2,3,4,[5,6,7,[8,9,0]]]
>>>
>>> list[4][3][1]
9
>>> list[-1][-1][-2]
9

 

二.切片  var[start_index:end_index]

  • 注意:切出的值不包含end_index的值

1.正切

>>> name = "xinfangshuo"
>>>
>>> name[3:6]
'fan'
>>> name[3:7]
'fang'
>>> name[0:11]
'xinfangshuo'
>>> name[0:]
'xinfangshuo'
>>> name[:]
'xinfangshuo'

2.反切

>>> name = "xinfangshuo"
>>> 
>>> name[:-1]
'xinfangshu'
>>> name[:-2]
'xinfangsh'
>>> name[3:-4]
'fang'

3.跳级切

>>> name = "xinfangshuo"
>>>
>>> name[3:7]
'fang'
>>> name[3:7:]
'fang'
>>> name[3:7:1]
'fang'
>>> name[3:7:2]
'fn'
>>> name[7:3:2]
''
>>> name[::3]
'xfgu'

4.反跳级切

  • 从右往左切
  • start_index位置要在end_index位置的右边
>>> name = "xinfangshuo"
>>>
>>> name[-1:-8:-2]
'ohga'
>>> name[-1:8:-2]
'o'
>>>
>>> name[1:10:-2]
''
>>> name[10:1:2]
''
>>> name[10:1:-2]
'ohgan'