如何使用python检测数组对

18人

我是python的新手,所以我有2个输入,第一个是带名称的int my_shoes,第二个是称为的彩色鞋的数组列表colour_list

my_shoes包含我拥有的每双鞋子的编号,而colour_list包含每种颜色的数组列表,并由数字表示。

  1. 如果my_shoes!= colour_list的频率计数,则将打印'数字不匹配'
  2. 如果my_shoes == colour_list的频率计数,则它将对数组的相同列表进行计数,并将其解释为一对

情况1

my_shoes = 10
colour = [1,1,2,2,2,3,3,4,5,6]

output 
"I have 3 pairs of shoes" 

解释:因为有颜色1必须成对,2必须成对,以及曾经成对

my_shoes = 9
colour = [1,1,2,2,3]

输出

"The number has no match"
 my_shoes = 9
colour = [1,2,1,2,1,3,3,3,3]

输出

"I have 4 pairs of shoes"

我已经尝试过此代码

my_shoes = 11
colour_list = ['a','b','c','d','e','b','n','n','c','c','h',]

to_be_pair = ()
duplicates = []
while my_shoes == range(len(colour_list)):
    for values in some_list:

        if some_list.count(values) == 2:
            to_be_pair += 1
        if values not in to_be_pair:

            to_be_pair.append(values)

print("i have  : ",to_be_pair , "pairs")

但输出是说我有:()对

乔·费尔兹(Joe Ferndz)

替代Counter的是使用set和list.count()选项。

在python中设置将删除重复项并创建一组唯一值。然后,您可以遍历集合,并根据原始颜色列表对每个元素进行计数。这样,您就可以计算每个元素。由于需要成对,因此将计数除以2。使用//它会自动使值取底并为您提供一个整数。所有返回值的总和将是鞋子总数。

其实现将如下所示:

def get_pairs(shoes, colours):
    if len(colours) < shoes:
        return f'The number {shoes} has no match in {colours}'

    pairs = sum(colours.count(c)//2 for c in set(colours))

    if pairs > 0:
        return f'I have {pairs} pairs of shoes in {colours}'
    else:
        return f'The number {shoes} has no match in {colours}'

print (get_pairs(10, [1,1,2,2,2,3,3,4,5,6]))

print (get_pairs(8, [1,1,2,2,3]))

print (get_pairs(9, [1,2,1,2,1,3,3,3,3]))

print (get_pairs(6, [1,2,3,4,5,6]))

其输出将是:

I have 3 pairs of shoes in [1, 1, 2, 2, 2, 3, 3, 4, 5, 6]
The number 8 has no match in [1, 1, 2, 2, 3]
I have 4 pairs of shoes in [1, 2, 1, 2, 1, 3, 3, 3, 3]
The number 6 has no match in [1, 2, 3, 4, 5, 6]

您也可以替换get_pairs函数以使其具有变量,如下所示:

print (get_pairs(my_shoes, colours))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用python检测复选框

来自分类Dev

如何使用python检测我的无线设备?

来自分类Dev

我如何使用循环并检测按键Python

来自分类Dev

Javascript:如何检测数组调用?

来自分类Dev

如何使用Python映射数组

来自分类Dev

如何使用Python在PostgreSQL中检测和使用表的行号?

来自分类Dev

使用Python检测换行

来自分类Dev

如何使用opencv或python检测2条相交(交叉)的曲线?

来自分类Dev

如何在Python中使用OpenCV检测行上方的文本

来自分类Dev

Python:如何使用flask API部署对象检测模型

来自分类Dev

如何使用python检测计算机的暂停状态?

来自分类Dev

如何使用Python检测Linux机器的电源关闭状态

来自分类Dev

如何使用python检测Windows中的备份驱动器?

来自分类Dev

如何使用 OpenCV python 检测不存在的新对象?

来自分类Dev

如何使用 Flask python(mongoDB) 检测点击了哪个更新按钮

来自分类Dev

如何使用树莓派检测python中的按键

来自分类Dev

如何检测数组中是否存在值

来自分类Dev

使用is_array()检测嵌套数组

来自分类Dev

在Java中使用数组检测冲突

来自分类Dev

如何使用Python数组更改字典的值?

来自分类Dev

如何使用 Python 添加数组

来自分类Dev

如何使用apply遍历数组python?

来自分类Dev

如何使用 Python 的 cffi 和 enum 数组

来自分类Dev

如何检测多线程使用?

来自分类Dev

如何使用pygame检测按键?

来自分类Dev

如何使用sed检测行尾

来自分类Dev

使用 VENTouchLock;如何检测响应?

来自分类Dev

如何使用 TextClassificationManager 检测语言

来自分类Dev

如何使用Numpy在Python中重塑数组的数组