精华内容
下载资源
问答
  • list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样每次获得的都是第一个值的位置。那么怎么去解决这个问题呢?下面的程序对这个问题做了一定的解答#!/usr/bin/env python# -*- ...

    关于怎么获得,我想其实网上有很多答案。

    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)

    # 此时输出0

    print s.index(22)

    # 此时输出1

    # 那怎么才能得到11,22相同的值的索引值呢?

    # 有人说用dict(字典),这个方法也可以

    # 有人说用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

    # 输出的结果如下:defaultdict(, {33: [2], 11: [0, 5], 44: [3], 22: [1, 4]})

    # 但是有没有一个更加简单的方法呢?

    # 有的,那就是”偷梁换柱“,用一个s1来复制s。

    s1 = s

    i = s1.index(11)

    s1[i]=55

    # 替换s1的11为55(不一定是55只要是列表中没有的数值就可以)

    # 再打印s1

    print s1

    # 输出[55, 22, 33, 44, 22, 11]

    # 下一步可以得到11的位置了

    print s1.index(11)

    # 输出为:5

    以上这篇获取python的list中含有重复值的index方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: 获取python的list中含有重复值的index方法

    本文地址: http://www.cppcns.com/jiaoben/python/231227.html

    展开全文
  • Suppose I have a list of numbers:my_list = [3, 8, 4, 2, 8, 1, 1, 2, 5, 1]I now want to find the indices of the 2 greatest numbers in this list. So, I try:import heapqmax_vals = heapq.nlargest(2, my_li...

    1586010002-jmsa.png

    Suppose I have a list of numbers:

    my_list = [3, 8, 4, 2, 8, 1, 1, 2, 5, 1]

    I now want to find the indices of the 2 greatest numbers in this list. So, I try:

    import heapq

    max_vals = heapq.nlargest(2, my_list)

    index1 = my_list.index(max_vals[0])

    index2 = my_list.index(max_vals[1])

    print index1

    print index2

    Here, both index1and index2 are 1. This is because max_vals has 8 for both values, and the my_list.index() just searches for the first instance of 8.

    How can I get the indices of the top 2 values in this case, such that index1 is 1 as before, but index2 is now 4, corresponding to the other 8 in the list?

    On a side note, it seems rather inefficient to find the maximum value in a list, and then subsequently find the index of that value. Is there not a way to achieve this in one sweep of the list?

    Thank you.

    解决方案

    You can apply heapq.nlargest on enumerate(list)"

    >>> import heapq

    >>> data = heapq.nlargest(2, enumerate(my_list), key=lambda x:x[1])

    >>> indices, vals = zip(*data)

    >>> indices

    (1, 4)

    >>> vals

    (8, 8)

    展开全文
  • 在某些情况下,我们需要重复列表的值。值的这种重复可以通过以下方式在python中实现。使用嵌套的for循环这是一种简单的方法,其中选择每个元素,通过内部for循环创建其重复项,然后将它们都传递给外部for循环。...

    在某些情况下,我们需要重复列表中的值。值的这种重复可以通过以下方式在python中实现。

    使用嵌套的for循环

    这是一种简单的方法,其中选择每个元素,通过内部for循环创建其重复项,然后将它们都传递给外部for循环。

    示例# Given list

    listA = ['Mon', 'Tue', 9, 3, 3]

    print("Given list : ",listA)

    # Adding another element for each element

    Newlist = [i for i in listA for n in (0, 1)]

    # Result

    print("New list after duplication: ",Newlist)

    输出结果

    运行上面的代码给我们以下结果-Given list : ['Mon', 'Tue', 9, 3, 3]

    New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]

    使用itertools

    itertools模块处理可迭代对象中的数据操作。在这里我们应用chain.from_iterables其中

    示例import itertools

    # Given list

    listA = ['Mon', 'Tue', 9, 3, 3]

    print("Given list : ",listA)

    # Adding another element for each element

    Newlist = list(itertools.chain.from_iterable([n, n] for n in listA))

    # Result

    print("New list after duplication: ",Newlist)

    输出结果

    运行上面的代码给我们以下结果-Given list : ['Mon', 'Tue', 9, 3, 3]

    New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]

    与减少

    reduce函数将作为参数传递给它的特定函数应用于作为第二参数传递给它的所有列表元素。我们将其与add函数一起使用,该函数会添加列表中每个元素的重复元素。

    示例from functools import reduce

    from operator import add

    # Given list

    listA = ['Mon', 'Tue', 9, 3, 3]

    print("Given list : ",listA)

    # Adding another element for each element

    Newlist = list(reduce(add, [(i, i) for i in listA]))

    # Result

    print("New list after duplication: ",Newlist)

    输出结果

    运行上面的代码给我们以下结果-Given list : ['Mon', 'Tue', 9, 3, 3]

    New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]

    展开全文
  • 类似数据,列表中每一个字典是一条数据,如何按天将数据分割,将每天数据保存到一个列表中,每天数据量不相同也就是每天数据行数不同[{'date':2019-08-17,'type':'旅游','over_...类似数据,列表中每一个字典...

    类似数据,列表中每一个字典是一条数据,如何按天将数据分割,将每天的数据保存到一个列表中,每天的数据量不相同也就是每天数据的行数不同[{'date':2019-08-17,'type':'旅游','over_...

    类似数据,列表中每一个字典是一条数据,如何按天将数据分割,将每天的数据保存到一个列表中,每天的数据量不相同也就是每天数据的行数不同

    [ {'date':2019-08-17, 'type':'旅游', 'over_im':'12365'},

    {'date':2019-08-17, 'type':'娱乐', 'over_im':'11234'},

    {'date':2019-08-17, 'type':'工作', 'over_im':'9754'},

    {'date':2019-08-17, 'type':'休闲', 'over_im':'8634'},

    {'date':2019-08-17, 'type':'生活', 'over_im':'3256'},

    {'date':2019-08-18, 'type':'生活', 'over_im':'15342'},

    {'date':2019-08-18, 'type':'旅游', 'over_im':'12332'},

    {'date':2019-08-18, 'type':'玩乐', 'over_im':'11232'},

    {'date':2019-08-18, 'type':'休闲', 'over_im':'10432'},

    {'date':2019-08-18, 'type':'生活', 'over_im':'9532'},

    {'date':2019-08-18, 'type':'工作', 'over_im':'7632'},

    {'date':2019-08-18, 'type':'游戏', 'over_im':'5422'},

    {'date':2019-08-19, 'type':'工作', 'over_im':'9942'},

    {'date':2019-08-19, 'type':'游戏', 'over_im':'7842'},

    {'date':2019-08-19, 'type':'休闲', 'over_im':'6213'},

    {'date':2019-08-19, 'type':'生活', 'over_im':'5267'},

    {'date':2019-08-19, 'type':'玩乐', 'over_im':'2445'}

    ...]

    ]

    展开

    展开全文
  • 我遇到了一个奇怪问题,我需要找到重复的项集合,这些集合顺序无关紧要,但集合中是否存在重复值却很重要。例如,假设我有以下列表:lol = [['red'],['blue', 'orange'],['orange', 'red'],['red', 'orange'],['...
  • 我有以下列表,其中包含具有不同值的重复汽车注册号。我想把它转换成一本字典,接受这多个汽车登记号码钥匙。到目前为止,当我尝试将list转换为dictionary时,它删除了其中一个键。我怎样用重复的钥匙编一本字典?...
  • python字典的键字典中的值没有任何限制, 可以是任意Python对象,即从标准对象到用户自定义对象皆可,但是字典中的键是有类型限制的。不允许一个键对应多个值必须明确一条原则:每个键只能对应一个项。也就是说:...
  • 在使用for循环之前,我们需要一个东西保存循环的值,最好的方法是使用一个列表列表就是按照顺序保存数据的容器,不是很复杂,就是一种新的语法而已,结构像下面这样:?list以 [ 号开头,里面的元素以 , 号分隔,像...
  • 集合(Set)集合是无序,无序也就没有索引,不能进行索引相关操作。无序,python解释器就不能通过索引(位置)区分集合中...a={1,1,3}print(a) #{1,3} 会自动去掉重复的元素a={1,"ok"} #数据类型可以不同print(a) ...
  • #字典的一键多值print'方案一 list作为dict的值 值允许重复'd1={}key=1value=2d1.setdefault(key,[]).append(value)value=2d1.setdefault(key,[]).append(value)print d1#获取值print '方案一 获取值'print list(d1...
  • 前景提要(文末提供源码下载)相信现在很多小伙伴们都有接触过Python,在学习Python时候,我们都学到了列表和集合,Python中集合有一个特性,就是数据不重复,有点类似Excel中字典,那么Excel中是否存在这样...
  • python字典的键字典中的值没有任何限制, 可以是任意Python对象,即从标准对象到用户自定义对象皆可,但是字典中的键是有类型限制的。不允许一个键对应多个值必须明确一条原则:每个键只能对应一个项。也就是说:...
  • 6 反转列表 7 转置二维数组 8 链式比较 推荐一个Python学习交流裙,有什么不懂可以在裙里问:610 380 249 9 链式函数调用 ...16 列表中最小和最大值的索引 17 移除列表的重复元素 ...
  • List(列表) 各位好我是霜华,今天将一个在开发中很常用一个数据结构(用于消息队列...如果全部移除,对应健也就消失了(⼈话:容器没东⻄了,容器就销毁) 列表最多可存储2^32-1 元素(4294967295 每个类表可存
  • 一段音频可以被编码为一组数值的数组(或者列表),像这样:我们可以在数组中每隔一秒拿掉一秒的值来将这段音频的速度变成两倍:如此我们不仅将音频的长度减半了,而且我们还将它的频率翻倍了,这样使得它拥有比原来更...
  • 16 列表中最小和最大值的索引 17 移除列表的重复元素 这些是你想要吗? 关注小编后私信【1】可以得到哦(私信方法:点击我头像进我主页有个上面有个私信按钮) 更多精彩内容 https://mz.tanzhouedu.com/?
  • 1.31 对于没有显式初始化变量初始值可以作怎样假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面代码为什么不能编译?intf(){chara[]="Hello,world!";} *1.33 下面初始化有...
  • 1.31 对于没有显式初始化变量初始值可以作怎样假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 18  1.32 下面代码为什么不能编译? intf(){char a[]=Hello, world!;} 18 *1.33 下面...
  • JS Dict 字典

    2019-04-14 13:40:40
    字典(dictory)是一种以键-值对...集合、字典、散列表可以存储不重复的值,它们之间有什么区别吗? 集合:集合感兴趣的是每个值本身,并把它当做主要元素。集合表示一组不相同的元素(不重复的元素)。集合以[值...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.31 对于没有显式初始化变量初始值可以作怎样假定?如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 18  1.32 下面代码为什么不能编译? intf(){char a[]="Hello, world!";} 18 *1.33 ...
  • 在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
  • // 池子里都是用BehaviorSubject装起来的值,一个键只能对应一个值 static pool: {[key: string]: BehaviorSubject<any>} = {}; // 用来注入键值 static set(key, value) {} // 可以直接获取...
  • 0. 我们根据列表、元祖和字符串共同特点,把它们三统称为什么? 共同特点: 都可以通过索引得到每一个元素 索引都从0开始 都可切片 有共同操作符(重复操作符、拼接操作符、成员关系操作符) 1. 请问分别...
  • 136. 只出现一次数字 给定一个非空整数数组,除了...已知表中重复元素也只出现2次,所以可以准备一个列表,第一次出现时将元素放进该列表,第二次出现移出该列表,最后返回列表值 代码: class Solution: def sing
  • python学习记录(16)

    2020-12-08 23:22:46
    2)默认索引总是从0开始(当然灵活Python还支持负数索引) 3)可以通过分片方法得到一个范围内元素集合 4)有很多共同操作符(重复操作符、拼接操作符、成员关系操作符) 2. 请问分别使用什么BIF,可以...
  • 目录 0. 请写下这一节课你学习到内容:格式不限,回忆并复述是加强记忆好...因为我们耳熟能详容器像列表,字典,元组都是可以存放数据,而迭代器就是实现了__next__()方法对象(用于遍历容器中数据)。 2.
  • 测试题:  0. 我们根据列表、元祖和字符串共同特点,把它们三统称为什么?... 根据一定规则重复生成我们想要的列表 3. 你认为调用 max('I love FishC.com') 会返回什么?为什么? v,AS...
  • 独立完成项目-----音乐播放盒 ... 前辈们说这样东西可以拿出去找工作了, 我笑了,真够吗? 自我感觉比较欠缺地方好多好多,希望老师能满足我求知欲望,多教点东西给我吧 在校学生: 小枪

空空如也

空空如也

1 2 3 4
收藏数 73
精华内容 29
关键字:

列表的值可以重复吗