【问题标题】:Is there something in python i can use to represent any positive whole numberpython中有什么东西可以用来表示任何正整数吗
【发布时间】:2013-11-08 04:44:32
【问题描述】:

我想知道 python 中是否有一些特定的东西可以简单地表示任何整数。具体来说,我想知道这一点,以便我可以使用所说的特定内容(我猜是符号或内置函数)在搜索算法中使用。这样我就不必精确地搜索正确的数字,只需搜索具有 2 个正确数字和一个整数正数的第一组数据。

这是我使用的代码:

def pheromone():
'''function to measure the level of pheromone (whilst slowly depleting that level) in the grid cells in order to increase or decrease the likelihood an ant will choose that grid cell'''
    grid_list[grid_list.index([ant_position[0],ant_position[1],SOMESYMBOL])]

网格列表是一个包含列表的列表。因此,我从网格列表中搜索第一个列表,以获得我正在寻找的两个设定值(ant_position[0] 和 ant_position[1])和一个任意值,可以想象,这里显示为 SOMESYMBOL 的任何整数正数。

有人有什么想法吗?

【问题讨论】:

    标签: python list function search numbers


    【解决方案1】:

    如果我理解正确,您正在寻找某种通配符。不幸的是,没有这样的事情。不过,幸运的是,可能有一种数据结构比列表更适合您:字典。

    我建议不要使用 X、Y 和相关数据的元组列表,而是使用从 X、Y 对到任何必要数据的字典映射。那么您的代码可能如下所示:

    def pheromone():
        grid_dict[(ant_position[0], ant_position[1])]
    

    添加和删除项目应该同样简单;添加:

    grid_dict[(x, y)] = data
    

    删除:

    del grid_dict[(x, y)]
    

    【讨论】:

    • 好的,那么没有简单的方法可以做到这一点吗? :L 哦,好吧,嗯,也许,但我已经用我的列表方法完成了很多编码,所以我认为现在不会切换 :/ 但是下次我必须做这样的事情时,我肯定会查看列表 :)
    • @user2966742:我支持切换到 dicts 的建议——您的用例确实更适合哈希表。您还将看到搜索速度的显着提高(O(n) vs O(1) 平均情况)
    • hmmmm 好吧,我认为我现在切换的太深了,所以如果你能想到任何方法来破解它,我将不胜感激:L
    • @user2966742:您可以使用for 循环遍历列表,当您看到一个元组的前两个元素与您要查找的位置匹配时,您可以使用break
    • 好的,什么是元组?那只是一个数字吗?这听起来就像我正在寻找的东西,你能不能说得更详细些?
    猜你喜欢
    • 2016-03-08
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2011-02-25
    • 2015-02-20
    相关资源
    最近更新 更多