日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python對切片命名的實現方法

系統 1789 0

1、需求

我們的代碼已經變得無法閱讀,到處都是硬編碼的切片索引,我們想優化他們。

2、解決方案

代碼中如果有很多硬編碼的索引值,將導致可讀性和維護性都不佳。

內置的slice()函數會創建一個切片對象,可以用在任何運行進行切片操作的地方。

            
items=[0,1,2,3,4,5,6]
a=slice(2,4)
print(items[2:4])
print(items[a])
 
items[a]=[10,11,12,13]
print(items)
 
del items[a]
print(items[a])
print(items)
          

運行結果:

            
[2, 3]
[2, 3]
[0, 1, 10, 11, 12, 13, 4, 5, 6]
[12, 13]
[0, 1, 12, 13, 4, 5, 6]
          

如果有一個slice對象的實例s。可以分別通過s.start、s.stop以及s.step屬性得到關于該對象的信息。例如:

            
items=[0,1,2,3,4,5,6]
a=slice(2,8,3)
print(items[a])
print(a.start)
print(a.stop)
print(a.step)
          

結果:

            
[2, 5]
2
8
3
          

此外,可以通過使用indices(size)方法將切片映射到特定大小的序列上。這會返回一個(start,stop,step)元組,所有的值都已經恰當地限制在邊界以內(當做索引操作時可避免出現IndexError異常),例如:

            
s='HelloWorld'
a=slice(2,5)
print(a.indices(len(s)))
for i in range(*a.indices(len(s))):
  print(str(i)+":"+s[i])
          

結果:

            
(2, 5, 1)
2:l
3:l
4:o
          


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 上高县| 凤阳县| 英德市| 闽清县| 沛县| 东乌珠穆沁旗| 肃宁县| 宜丰县| 扎囊县| 武山县| 桐庐县| 大竹县| 八宿县| 郯城县| 吉木乃县| 潜江市| 府谷县| 丰宁| 应用必备| 体育| 海丰县| 普格县| 乐陵市| 江西省| 三亚市| 葫芦岛市| 天峻县| 沙田区| 平武县| 同仁县| 莱芜市| 施甸县| 灵丘县| 开封县| 东丽区| 巴青县| 乌拉特前旗| 和平区| 拉萨市| 吴江市| 商水县|