Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类型区分python中的列表列表和元组列表_Python_List_Types - Fatal编程技术网

类型区分python中的列表列表和元组列表

类型区分python中的列表列表和元组列表,python,list,types,Python,List,Types,我正在编写一个python定义,它将接受以下类型的输入参数:[(元组列表)]或[[列表列表列表]],这将导致不同的处理方法。看起来它们都是“列表”(list)类型。如何区分用户可能输入的这两种不同类型的数据 谢谢。获取列表中第一项的类型 if isinstance(x, list) and len(x) != 0: if isinstance(x[0], list): # Do stuff for list of lists elif isinstance(x[0

我正在编写一个python定义,它将接受以下类型的输入参数:[(元组列表)]或[[列表列表列表]],这将导致不同的处理方法。看起来它们都是“列表”(list)类型。如何区分用户可能输入的这两种不同类型的数据


谢谢。

获取列表中第一项的类型

if isinstance(x, list) and len(x) != 0:
    if isinstance(x[0], list):
        # Do stuff for list of lists
    elif isinstance(x[0], tuple):
        # Do stuff for list of tuples
当然,要确保
x
是一个
列表
,并且其中有一个项目


此外,如果您得到一个包含混合列表和元组的列表,则会出现这种情况。如果可以的话,最好稍后进行区分,并在两种情况下对包含列表进行相同的处理。否则,您需要检查列表中的每个项目。

获取列表中第一个项目的类型

if isinstance(x, list) and len(x) != 0:
    if isinstance(x[0], list):
        # Do stuff for list of lists
    elif isinstance(x[0], tuple):
        # Do stuff for list of tuples
当然,要确保
x
是一个
列表
,并且其中有一个项目


此外,如果您得到一个包含混合列表和元组的列表,则会出现这种情况。如果可以的话,最好稍后进行区分,并在两种情况下对包含列表进行相同的处理。否则,您需要检查列表中的每个项目。

假设它是列表列表或元组列表:

if isinstance(x, list) and len(x) != 0:
    if isinstance(x[0], list):
        # Do stuff for list of lists
    elif isinstance(x[0], tuple):
        # Do stuff for list of tuples
def doit(value):
    if isinstance(value, list):
        if isinstance(value[0], list):
            print 'process list'
        elif isinstance(value[0], tuple):
            print 'process tuple'

假设是列表列表或元组列表:

def doit(value):
    if isinstance(value, list):
        if isinstance(value[0], list):
            print 'process list'
        elif isinstance(value[0], tuple):
            print 'process tuple'

它们都是“列表”,所以它们的类型当然相同。你需要检查每个元素,因为可能有人发送了一个混合列表和元组列表。你真的需要区分列表列表和元组列表吗?可能不是,对吧?它们都是“列表”,所以它们的类型当然是相同的。你需要检查每个元素,因为可能有人发送了一个混合列表和元组列表。你真的需要区分列表列表和元组列表吗?可能不会,对吧?isinstance很干净isinstance很干净非常感谢大家。非常感谢大家。