解決python列表list中的截取問題
List(列表)作為python中使用最頻繁的數據類型,如果能夠把列表掌握,那么對于Python的掌握是有很大幫助的。
并且列表的元素的值是可以修改的List的格式:(列表中的元素可以是字符串類型,也可以是數字類型,布爾型等等)
#Author:LJZlist=[’123’,’abc’,0,True]for i in range(4): x=list[i] print(x)
執行結果:
123abc0True
對于列表的截取操作(這個操作里面有一些細節,下面我總結了一下)
注意:列表的正向索引下標是從零開始,不是1,反向索引是到-1結束,不是0
截取的格式
變量[頭下標:尾下標]
正向索引(01234...)1.只有頭下標i和冒號(代表的是從該頭下標i的元素開始截取,一直到最后)
2.只有冒號尾下標i(代表的是從開始一直截取到i-1的元素)
3.頭下標i,冒號和尾下標j都有(代表的是從i一直截取到j-1的元素)
例程如下:
#Author:LJZlist=[’123’,’abc’,0,True]x=list[1:]y=list[:3]z=list[2:3]print(x)print(y)print
結果如下:
[’abc’, 0, True][’123’, ’abc’, 0][0]
反向索引(......-2-1)1.只有頭下標i和冒號(代表的是從該頭下標i的元素開始截取,一直到最后)
2.只有冒號尾下標i(代表的是從開始一直截取到i-1的元素)
3.頭下標i,冒號和尾下標j都有(代表的是從i一直截取到j-1的元素
例程如下:
#Author:LJZlist=[’123’,’abc’,0,True]x=list[-3:]y=list[:-2]z=list[-3:-1]print(x)print(y)print(z)
結果如下:
[’abc’, 0, True][’123’, ’abc’][’abc’, 0]
加入步長的截取:前面講到的截取是沒有帶步長的。如果想隔一定元素個數去截取列表,可以選擇使用帶有步長的截取方式
格式:
變量[頭下標:尾下標:步長]
例如截取第三個到第五個元素,如果隔兩個步長截取的話,就會截取到元素3和元素5,元素4就被跳過了
例程:
#Author:LJZlist=[’123’,’abc’,0,True,'12345']x=list[1:4:2]print(x)
結果:
[’abc’, True]
補充:python 列表截取分解
#!/usr/bin/env python#coding:utf8 list1 = [ ’tzh’, 786 , 2.23, ’thz2’, 70.2 ]list2 = [123, ’tzh’] print list1 # 輸出完整列表list1print list1[0] # 輸出列表list1的第一個元素print list1[1:3] # 輸出list1第二個至第三個的元素 print list1[2:] # 輸出list1從第三個開始至列表末尾的所有元素print list2 * 2# 輸出列表list2兩次print list1 + list2 # 打印組合的列表list1,list2
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: