V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
QGabriel
V2EX  ›  Python

Python 遍历数组对象怎么取序号?

  •  
  •   QGabriel · 2020-09-11 11:08:00 +08:00 · 2658 次点击
    这是一个创建于 1316 天前的主题,其中的信息可能已经有所发展或是发生改变。
    pymongo.cursor.Cursor list 对象
    我想取 i['key'] 和 i+1['key']

    怎么取?
    第 1 条附言  ·  2020-09-11 11:57:50 +08:00
    数据结构:
    list = [
    {a: 1},
    {a:2},
    {a:3}
    ]

    我想判断 list[0]['a'] == list[1]['a']
    16 条回复    2020-09-11 21:19:31 +08:00
    xiaolinjia
        1
    xiaolinjia  
       2020-09-11 11:30:01 +08:00   ❤️ 3
    enumerate
    jmc891205
        2
    jmc891205  
       2020-09-11 12:20:06 +08:00
    for i in range(len(list)-1)
    TimePPT
        3
    TimePPT  
       2020-09-11 12:24:47 +08:00 via Android
    enumerate +1
    datou
        4
    datou  
       2020-09-11 12:32:48 +08:00
    list.index()
    QGabriel
        5
    QGabriel  
    OP
       2020-09-11 13:45:48 +08:00
    具体怎么写啊~以上的方法都试了好像不行啊
    1018ji
        6
    1018ji  
       2020-09-11 13:47:08 +08:00
    @QGabriel for i, element in enumerate(seq):
    qW7bo2FbzbC0
        7
    qW7bo2FbzbC0  
       2020-09-11 13:47:26 +08:00
    enumerate
    1018ji
        8
    1018ji  
       2020-09-11 13:48:54 +08:00
    你只比较 0 和 1 我咋感觉这需求这么诡异
    xiaolinjia
        9
    xiaolinjia  
       2020-09-11 13:56:47 +08:00
    xdnauly
        10
    xdnauly  
       2020-09-11 14:08:09 +08:00
    list[0].get("a") == list[1].get("a")

    #还有 list[0]['a'] == list[1]['a'] 不是可以直接比较啊,没有太看懂你的问题
    QGabriel
        11
    QGabriel  
    OP
       2020-09-11 14:21:39 +08:00
    @xiaolinjia 谢谢!
    TenaxTsi
        12
    TenaxTsi  
       2020-09-11 14:53:19 +08:00
    @xiaolinjia 这工具不错。
    QGabriel
        13
    QGabriel  
    OP
       2020-09-11 15:49:32 +08:00
    @xiaolinjia list 的类型是 pymongo.cursor.Cursor db[index + 1]['a'] 就提示错误了

    -----
    Traceback (most recent call last):
    File "C:/python/t.py", line 10, in <module>
    if (item['code'] == db[index + 1]['code']):
    File "C:\python\venv\lib\site-packages\pymongo\cursor.py", line 612, in __getitem__
    self.__check_okay_to_chain()
    File "C:\python\venv\lib\site-packages\pymongo\cursor.py", line 401, in __check_okay_to_chain
    raise InvalidOperation("cannot set options after executing query")
    pymongo.errors.InvalidOperation: cannot set options after executing query
    xiaolinjia
        14
    xiaolinjia  
       2020-09-11 16:14:37 +08:00
    @QGabriel 试试把他转成 list(db),然后再操作。
    biglazycat
        15
    biglazycat  
       2020-09-11 21:18:26 +08:00
    list = [{'a': 1},{'a':2},{'a':3}]

    for index, mem in enumerate(list):
    if index < len(list) - 1:
    print(mem['a'])
    print(list[index + 1]['a'])
    biglazycat
        16
    biglazycat  
       2020-09-11 21:19:31 +08:00
    @xiaolinjia 装您的代码抄了一下。请问代码是怎么传到 ubuntu 上的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1247 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:59 · PVG 07:59 · LAX 16:59 · JFK 19:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.