最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

獲取python的list中含有重復(fù)值的index方法

 更新時(shí)間:2018年06月27日 09:54:47   作者:SundayCoder  
今天小編就為大家分享一篇獲取python的list中含有重復(fù)值的index方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

關(guān)于怎么獲得,我想其實(shí)網(wǎng)上有很多答案。

list.index( )獲得值的索引值,但是如果list中含有的值一樣,例如含有兩個(gè)11,22,這樣每次獲得的都是第一個(gè)值的位置。

那么怎么去解決這個(gè)問(wèn)題呢?

下面的程序?qū)@個(gè)問(wèn)題做了一定的解答

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : listlearn.py
# 怎么獲得list中的相同值的索引值
# 請(qǐng)看下列程序
s = [11, 22, 33, 44, 22, 11]
print s.index(11)
# 此時(shí)輸出0
print s.index(22)
# 此時(shí)輸出1
# 那怎么才能得到11,22相同的值的索引值呢?
# 有人說(shuō)用dict(字典),這個(gè)方法也可以
# 有人說(shuō)用defaultdict
# 程序如下:
from collections import defaultdict
d = defaultdict(list)
for k,va in [(v,i) for i,v in enumerate(s)]:
 d[k].append(va)
print d
# 輸出的結(jié)果如下:defaultdict(<type 'list'>, {33: [2], 11: [0, 5], 44: [3], 22: [1, 4]})
# 但是有沒(méi)有一個(gè)更加簡(jiǎn)單的方法呢?
# 有的,那就是”偷梁換柱“,用一個(gè)s1來(lái)復(fù)制s。
s1 = s
i = s1.index(11)
s1[i]=55
# 替換s1的11為55(不一定是55只要是列表中沒(méi)有的數(shù)值就可以)
# 再打印s1
print s1
# 輸出[55, 22, 33, 44, 22, 11]
# 下一步可以得到11的位置了
print s1.index(11)
# 輸出為:5

以上這篇獲取python的list中含有重復(fù)值的index方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

皋兰县| 卢龙县| 城步| 本溪市| 东方市| 密云县| 常州市| 宁安市| 黄浦区| 会泽县| 鲁甸县| 涪陵区| 平远县| 尼勒克县| 东辽县| 大化| 乌鲁木齐市| 紫金县| 偃师市| 巫山县| 新巴尔虎右旗| 启东市| 合作市| 绥宁县| 永定县| 利辛县| 巴林右旗| 西畴县| 景德镇市| 定兴县| 兴国县| 岐山县| 延寿县| 同仁县| 兴城市| 临朐县| 丹寨县| 宜丰县| 衡阳县| 当雄县| 新巴尔虎左旗|