shell 判断一个值是不是存在于一个数值列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 判断一个值是不是存在于一个数值列表相关的知识,希望对你有一定的参考价值。

shell 判断一个值是否存在于一个数值列表,例如:现在有一个值为:10 ,然后有一个文件number ,第一行到第一百行为1--100数字,现在我要判断10是否在存在于number中,若存在输出 10 已存在, 否则输出 10 不存在! 求解 !就这么点分了!

参考技术A 假如你的值10在a1,数据行在b1-b100,那么公式这样写=IF(COUNTIF(B1:B100,A1),a1&"已存在",a1&"不存在") 参考技术B grep -w 10 number
[[ $? == 0 ]] && "存在" || "不存咋"

你试试,我没试,大体就这么个意思
参考技术C 你这个问题, 我可以解决,你私信找我, 我给你脚本程序。追问

已私信给你,感谢!

本回答被提问者采纳

使用 argparse 将逗号分隔的多个整数值作为输入,并检查列表中是不是存在这些值

【中文标题】使用 argparse 将逗号分隔的多个整数值作为输入,并检查列表中是不是存在这些值【英文标题】:Take comma separated multiple integer values as input using argparse and check if any of those values are present in a list使用 argparse 将逗号分隔的多个整数值作为输入,并检查列表中是否存在这些值 【发布时间】:2021-02-18 08:30:39 【问题描述】:

我有一个清单,例如:

L1 = [["Apple" , 1 ,  200] , ["Grapes" , 4 , 100] , ["Banana" , 1 , 20]]

使用 argparse,我希望用户输入逗号分隔的多个整数值。

如果用户输入的值存在于列表的中间位置,即L1[1],则应打印整个列表。

例如:

python test.py -x 1,2

应该输出:

Apple , 1, 200
Banana , 1 , 20

我尝试将用户输入存储为元组。

如何将这些元组元素与列表的中间位置进行比较?

我该如何实现?

我应该如何存储用户输入并使用我的列表检查用户输入的每个元素?

提前感谢您的帮助!

【问题讨论】:

您对此有何疑问?当您尝试这样做时是否遇到了特殊问题? 您的实际问题是什么? “如何接受带有 argparse 的以逗号分隔的整数列表?” 我应该如何存储用户输入并使用我的列表检查用户输入的每个元素? 我尝试将用户输入存储为元组。如何将这些元组元素与列表的中间位置进行比较? 【参考方案1】:

一旦用户在元组中输入整数,就可以这样做:

user_input = (1, 2)
L1 = [["Apple", 1, 200], ["Grapes", 4, 100], ["Banana", 1, 20]]

for i in user_input:
    for sublist in L1:
        if i == sublist[1]:
            print(sublist)

【讨论】:

感谢您的帮助!非常感谢!【参考方案2】:
In [1]: import argparse

定义解析器:

In [6]: parser=argparse.ArgumentParser()    
In [7]: parser.add_argument('-x', nargs='+', type=int);

测试输入。通过使用nargstype,我输入了一个空格分隔的数字,并返回一个数字列表:

In [8]: args = parser.parse_args('-x 1 2'.split())

In [9]: args
Out[9]: Namespace(x=[1, 2])

然后很容易找到 L1 的元素与列表理解(或循环,如果你喜欢):

In [10]: L1 = [["Apple" , 1 ,  200] , ["Grapes" , 4 , 100] , ["Banana" , 1 , 20]]

In [11]: [val for val in L1 if val[1] in args.x]
Out[11]: [['Apple', 1, 200], ['Banana', 1, 20]]

【讨论】:

感谢您的帮助!非常感谢!

以上是关于shell 判断一个值是不是存在于一个数值列表的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL中怎么判断一个数是不是存在在一列数中

java 判断一个数值是不是在一个数值区间内

Shell脚本2

使用 argparse 将逗号分隔的多个整数值作为输入,并检查列表中是不是存在这些值

C语言编程,判断一个数是不是存在于一个数组中

linux shell 判断进程是不是存在