相关疑难解决方法(0)

在Python中,如何确定对象是否可迭代?

有方法isiterable吗?到目前为止我找到的唯一解决方案是打电话

hasattr(myObj, '__iter__')
Run Code Online (Sandbox Code Playgroud)

但我不确定这是多么万无一失.

python iterable

994
推荐指数
14
解决办法
41万
查看次数

Python:检查对象是否是序列

在python中有一个简单的方法来判断某些东西是不是一个序列?我试着这么做: if x is not sequence但是python并不喜欢这样

python if-statement sequences sequence

58
推荐指数
6
解决办法
3万
查看次数

如何检查Python列表中是否存在元组?

我是Python的新手,我正在尝试检查[a,b]列表中是否存在一对l=[[a,b],[c,d],[d,e]].我搜索了很多问题,但找不到精确的解决方案.请有人能告诉我正确和最短的做法吗?

当我跑:

a=[['1','2'],['1','3']]
for i in range(3):
    for j in range(3):
        if [i,j] in a:
            print a
Run Code Online (Sandbox Code Playgroud)

输出是空白的

那怎么实现呢?

python list exists

5
推荐指数
2
解决办法
3万
查看次数

issubclass的抽象基类Sequence

该列表显示了你需要实现你的类方法被"视为"为序列:__getitem__,__len__,__contains__,__iter__,__reversed__,index,和count.那么为什么这个最小的实现不起作用,为什么issubclass(S, Sequence) is False呢?

from collections import *


class S(object):
    def __getitem__(self, item):
        raise IndexError

    def __len__(self):
        return 0

    def __contains__(self, item):
        return False

    def __iter__(self):
        return iter(())

    def __reversed__(self):
        return self

    def index(self, item):
        raise IndexError

    def count(self, item):
        return 0


issubclass(S, Iterable)   # True  :-)
issubclass(S, Sized)      # True  :-)
issubclass(S, Container)  # True  :-)
issubclass(S, Sequence)   # False :-(
Run Code Online (Sandbox Code Playgroud)

我需要实现一个我忽略的额外方法吗?我是否误解了抽象基类?子类化当然 …

python duck-typing subclassing abstract-base-class isinstance

3
推荐指数
1
解决办法
533
查看次数