时间:2021-05-22
关于怎么获得,我想其实网上有很多答案。
list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样每次获得的都是第一个值的位置。
那么怎么去解决这个问题呢?
下面的程序对这个问题做了一定的解答
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : SundayCoder-俊勇# @File : listlearn.py# 怎么获得list中的相同值的索引值# 请看下列程序s = [11, 22, 33, 44, 22, 11]print s.index(11)# 此时输出0print s.index(22)# 此时输出1# 那怎么才能得到11,22相同的值的索引值呢?# 有人说用dict(字典),这个方法也可以# 有人说用defaultdict# 程序如下:from collections import defaultdictd = defaultdict(list)for k,va in [(v,i) for i,v in enumerate(s)]: d[k].append(va)print d# 输出的结果如下:defaultdict(<type 'list'>, {33: [2], 11: [0, 5], 44: [3], 22: [1, 4]})# 但是有没有一个更加简单的方法呢?# 有的,那就是”偷梁换柱“,用一个s1来复制s。s1 = si = s1.index(11)s1[i]=55# 替换s1的11为55(不一定是55只要是列表中没有的数值就可以)# 再打印s1print s1# 输出[55, 22, 33, 44, 22, 11]# 下一步可以得到11的位置了print s1.index(11)# 输出为:5以上这篇获取python的list中含有重复值的index方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、选择器中含有特殊符号的注意事项1.选择器中含有“.”、“#”、“(”或“]”等特殊字符根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔
Python爬虫之超链接url中含有中文出错及解决办法python3.5爬虫错误:UnicodeEncodeError:'ascii'codeccan'tenc
1、关于选择器中含有特殊符号选择器中含有".","#","(","]"等特殊字符,根据W3C的规定,属性值中是不能含有这些特殊字符的,例如:复制代码代码如下:b
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引但在numpy中的array没有
1.内容中含有xml预定好的实体,如“2.内容中含有低位非打印字符,解析时会报错:""(十六进制值0x1D)是无效的字符.加载或保存XML时引发的异常.Syst