Python 学习随笔1
生活随笔
收集整理的這篇文章主要介紹了
Python 学习随笔1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一個列表中,找出重復數組的位置。
比如在列表name = [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]中,找出2的位置。
方法1:
流程為:
找到第一個2的位置,然后在2之后的一個數后面切片,再找2,再再后一個數切片,循環下去。
第一個2的位置就是name中第一個2的位置。
第二個2的位置為第一個2的位置加上第二個切片中2的位置加1(位置從0開始)
第三個以此類推。
代碼:
#_*_coding:utf-8_*_ name = [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]new_pos = 0 #初始位置定位0 for i in range(name.count(2)): # for循環次數為2出現的次數new_list = name[new_pos:] #切片,從剛開始的0處切片,實現new_list = namenext_pos = new_list.index(2) #第一個2的位置找出print next_pos + new_pos #輸出2的位置,由新位置加上下一個位置new_pos += next_pos + 1 #新的位置為自身加上下一個位置再加一,因為切片要從2之后的一個數開始,否則下一個2位置永久為0?輸出結果:
?
方法2(超暴力):
流程為:
從第一個2開始,每次都把這個位置的2刪掉,以后2的位置加上刪掉2的次數即可。
代碼如下:
#_*_coding:utf-8_*_ name = [1, 5, 8, 22, 56, 2, 8, 45, 7, 2, 35, 2, 486, 2, 152, 111, 265, 2, 2]for i in range(name.count(2)): # 循環次數為列表中2出現的次數print name.index(2) + i # 輸出2的位置加上i的數,i為0、1、2、3……恰好前面刪掉2的次數del name[name.index(2)] # 刪掉當前輸出的2,形成新的列表進入下次循環?輸出結果:
?
轉載于:https://www.cnblogs.com/wuqiangroy/p/5971677.html
總結
以上是生活随笔為你收集整理的Python 学习随笔1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在MyEclipse中更换或修改svn的
- 下一篇: windows使用python3.4生成