2016-02-29 139 views
-2

我試圖確定一個unicode字符串的列表是否存在或只是一個unicode字符串。當然,我喜歡在兩者上採取行動,從列表中打印項目或打印單個字符串。檢查一個變量是一個unicode字符串的列表還是隻有一個unicode字符串

我試圖使用if isinstance(variable_here, basestring):然而,因爲變量是一串字符串,我認爲它被標識爲True在兩個計數。任何幫助,將理解

變量可以具有任一1項或多個。

[u'one ']

[u'one',u'two']

+0

'isinstance(U」富」,Unicode)的'? –

+0

它的一個變量,並且總是會是一個字符串或unicode字符串的unicode列表,這樣的工作,我不認爲 – iNoob

+0

我有點困惑,你究竟在檢查什麼? 'isinstance(variable_here,basestring)'如何返回True列表? –

回答

3

我認爲你正在嘗試做的是這樣的:

if any(not isinstance(variable, unicode) for variable in variable_here): 
    print 'Not a unicode list' 
else: 
    var_len = len(variable_here) 
    if var_len == 1: 
     print 'single object' 
    elif var_len > 1: 
     print 'multiple object' 
    else: 
     print 'empty list' 
+0

請注意,如果你*通過這個Unicode字符串(不是一個列表),它會將它視爲鴨字符的Unicode字符列表。 –

+0

根據這個問題,'variable_here'將始終是'list'類型。我從OP中澄清了這一點。 –

+0

我只是澄清了稍後可能遇到此答案的人的觀點。在StackOverflow上,你不能認爲唯一會使用答案的人是問這個問題的人。 –

相關問題