2017-01-27 89 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

相關問題