python(索引/切片)


一.索引

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'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM