2013-11-20 2 views
2

Я недавно начал работать с Python. Мне нужно сравнить строки в Python в списке, и я не знаю, как это будет работать -Как сравнить строки в python в List?

Ниже мой код -

def my_func (event): 
    print event 
    print (event.type) 
    if event.type == EventType.CHILD: 
    children=zk.get_children("/ss/testing", watch=my_func) 
    print(children) 

print(children1) напечатает что-то вроде этого, если он имеет один ребенок или два или три-

[u'test1'] 

or 

[u'test1', u'test2'] 

or 

[u'test1', u'test2', u'test3'] 

Мне нужно, чтобы проверить, содержит ли childrenworkflow строку или нет. Сейчас он содержит только test1, test2, test3, но в будущем он может иметь рабочий процесс, а также test1, test2, test3, workflow

Если в нем есть workflow. Затем я распечатаю только workflow и ничего больше.

ПРИМЕЧАНИЕ: - get_children возвращает список, как показано в документации, которую я догадываюсь

Любая идея, как это можно сделать?

UPDATE: -

Если узлы рабочих процессов будет добавлен вверх, то он будет показывать, как это, если я распечатать детей-

[u'test1', u'test2', u'test3', u'workflow'] 

Так что мне нужно, чтобы проверить, содержит ли дети рабочий процесс или нет, если он не содержит, то мы ничего не будем делать, кроме если он содержит, то мы будем печатать только рабочий процесс, а не test1, test2, test3 после извлечения из него.

+0

Является ли рабочий процесс строкой? –

+0

'' рабочий процесс "в детях должен работать,., Вы даже попытались сделать это первым? –

+0

@DylanLawrence: Я обновил свой вопрос более подробно. – AKIWEB

ответ

4
'workflow' in children 

возвращает True/False если он есть/нет детей

Затем, ваш код будет:

if 'workflow' in children: print 'workflow' 
2

Вы можете использовать в строке if заявление.

print('workflow' if 'workflow' in children else children) 
+0

Это не встроенный 'if-else', он называется« тернарным условным оператором ». – tMJ

+0

Не увязнуть в симпатичных дискуссиях, но это называется в строке, если утверждение обычно (google it), и это также точное описание. –

+1

http://www.python.org/dev/peps/pep-0308/ Я нахожу слово «тернарный», «условный» и «оператор», но не 'inline'. Я думаю, 'inline if-else' должен быть просто разговорным для того, что я говорил. – tMJ

Смежные вопросы