2017-01-27 64 views
-1

说我有两种可能性,其中我没有提前知道。 A = [“abc”,“def”,“ghi”]或A =“abc”。知道一个Python列表是否有一个项目或多个项目

我想做一些事情,如果列表的长度是多个。 我不能简单地做“如果len(A)> 1做这个”,因为两个条件都能满足这个要求。

我不知何故希望能够区分这两种可能性。在Python中如何做到这一点?

谢谢

下面是所编辑的\加入部分..

正如所看到的表示输出..instead的第一行[[无,晚餐]] 是表示[[无, 'd'],[None,'i'],[None,'n'],[None,'n'],[None,'e'],[None,'r']] 。

如何解决这个问题?我哪里错了? 实在不好意思了混乱的职位和后期编辑一对夫妇的意见已经在那里了......

下面

下面的代码

[[None, 'd'], [None, 'i'], [None, 'n'], [None, 'n'], [None, 'e'], [None, 'r']] 
['bad', 'pork'] 
['good', 'chicken'] 
[['dinner', 'v'], ['dinner', 'e'], ['dinner', 'g'], ['dinner', 'e'], ['dinner', 't'], ['dinner', 'a'], ['dinner', 'r'], ['dinner', 'i'], ['dinner', 'a'], ['dinner', 'n']] 
['good', 'tofu'] 
[['vegetarian', 's'], ['vegetarian', 'a'], ['vegetarian', 'l'], ['vegetarian', 'a'], ['vegetarian', 'd']] 
['average', 'italian'] 
['bad', 'caeser'] 
['average', 'beef'] 

过程的输出完成,退出代码为0

+0

区分它们,您可以测试'型(A)== list',尽管这将排除的元组和其他iterables。也许你可以让你的条件是:len(A)> 1并输入(A)!= str'。字符串很棘手,因为它们*是可迭代的,每个元素都是一个字符的字符串,这可能会将尝试混淆为duck-type。 – cdhowie

回答

0

在第一种情况下,Alist,在第二种情况下,它是string。所以,你可以通过

if type(A) == list: 
    # do something 
elif type(A) == str: 
    # do something else 
else: 
    # don't do anything 
+0

我的歉意......我应该包括上下文以及..所以编辑问题.. – Amit

相关问题