首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查列表中是否存在值

检查列表中是否存在值
EN

Stack Overflow用户
提问于 2017-11-13 09:48:41
回答 5查看 127关注 0票数 2

假设我有123-0-1,我想检查这个值是否存在于列表中。以下是我的清单:

代码语言:javascript
复制
 df = [
       {'mpls': '123-0-1', 'source': '192.168.10.10', 'destination' : '12.168.100.10'}, 
       {'mpls': '123-0-1', 'source': '192.168.10.15', 'destination': '10.12.129.200'}
      ]

在SQL中,我将使用:

代码语言:javascript
复制
select mpls, source from df where source = 192.168.10.10

从列表中,我想从源123-0-1中提取mpls 192.168.10.10,这样我就可以得到正确的目标12.168.100.10

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-11-13 09:51:06

df不是数据格式。这是一份字典清单。

因此,您的唯一选项是循环和if条件:

代码语言:javascript
复制
for connection in df:
    if connection['source'] == '192.168.10.10':
        print(connection['mpls'])
        print(connection['destination'])
        # do whatever with connection. Can also break if it is guaranteed to be unique.

但是,如果df是一种数据格式,则可以使用熊猫索引语法:

代码语言:javascript
复制
relevant_rows = df[df['source'] == '192.168.10.10']

然后,relevant_rows将是一个新的数据格式,其行是source等于'192.168.10.10'的行。

代码语言:javascript
复制
import pandas as pd

data = [
       {'mpls': '123-0-1', 'source': '192.168.10.10', 'destination' : '12.168.100.10'},
       {'mpls': '123-0-1', 'source': '192.168.10.15', 'destination': '10.12.129.200'}
      ]

df = pd.DataFrame(data)

print(df)

#         destination     mpls         source
#     0  12.168.100.10  123-0-1  192.168.10.10
#     1  10.12.129.200  123-0-1  192.168.10.15

relevant_rows = df[df['source'] == '192.168.10.10']

print(relevant_rows)

#         destination     mpls         source
#    0  12.168.100.10  123-0-1  192.168.10.10
票数 2
EN

Stack Overflow用户

发布于 2017-11-13 09:54:05

为什么不把它做成数据呢?

代码语言:javascript
复制
df = pd.DataFrame(df)
df[df['source'] == '192.168.10.10']
票数 1
EN

Stack Overflow用户

发布于 2017-11-13 09:54:58

下面是使用列表理解的可能解决方案,因为您正在处理列表:

代码语言:javascript
复制
[(x['mpls'], x['destination']) for x in df if x['source'] == '192.168.10.10']

它基于mplsdestination返回基于source的元组。

代码语言:javascript
复制
[('123-0-1', '12.168.100.10')]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47261346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档