相关疑难解决方法(0)

如何"完美"覆盖一个字典?

我怎样才能使"完美"成为dict的子类?最终目标是有一个简单的字典,其中键是小写的.

似乎应该有一些微小的原语我可以覆盖以使这项工作,但根据我的所有研究和尝试似乎情况并非如此:

这是我的第一次尝试,get()不起作用,毫无疑问还有许多其他小问题:

class arbitrary_dict(dict):
    """A dictionary that applies an arbitrary key-altering function
       before accessing the keys."""

    def __keytransform__(self, key):
        return key

    # Overridden methods. List from 
    # https://stackoverflow.com/questions/2390827/how-to-properly-subclass-dict

    def __init__(self, *args, **kwargs):
        self.update(*args, **kwargs)

    # Note: I'm using dict directly, since super(dict, self) doesn't work. …
Run Code Online (Sandbox Code Playgroud)

python inheritance dictionary get set

204
推荐指数
5
解决办法
10万
查看次数

在Python中使用范围作为字典键,我有什么选择?

这是我的第一篇文章,我对编程很陌生,所以我可能无法恰当地传达我的问题,但我会尽我所能!

tries_dict = {1:'first', 2:'second', 3:'third', 4:'fourth', ub_tries:'last'}

ub_tries = user input

tries = 1

input ('\nCome on make your ' + tries_dict.get(tries) + guess: ')
Run Code Online (Sandbox Code Playgroud)

这三个元素是我创建的数字猜测游戏的一部分,我将它们包含在每个错误答案之后的while循环中tries += 1.

正如您所看到的,在我的字典中,前4个答案的自定义值和游戏结束前的最后可能机会,所以这是我尝试做的:

我想找到一种方法,在'4th'和'last'之间为每个答案/键设置'NEXT'值.

如:

tries = 5

Come on make your next guess

tries = 6

Come on make your next guess
Run Code Online (Sandbox Code Playgroud)

等等

我确实找到了一种带有复杂循环的方法,但是我想知道更好的/实用的方法来实现这一点.

以下是我想到的一些选项,但无法开始工作:

  1. 使用范围作为关键
  2. 找到一种方法来生成值介于4之间的列表,ub_tries并将该列表用作键

所以一般来说:如何创建一种方法来获得未在字典中指定的键的一般答案(下一个或其他)?

任何反馈都会非常感激,随时可以要求澄清,因为我可以告诉自己我的问题有点混乱.

我希望我在编程和提出相关问题时变得更加狡猾,到目前为止,我的编程几乎和我的总结技巧一样混乱,感叹!

python dictionary loops key range

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

dictionary ×2

python ×2

get ×1

inheritance ×1

key ×1

loops ×1

range ×1

set ×1