Вот фрагмент кода, который может помочь:
String input = "ABC_DEF";
StringBuilder sb = new StringBuilder();
for( String oneString : input.split("_") )
{
sb.append( oneString.substring(0,1) );
sb.append( oneString.substring(1).toLowerCase() );
}
// sb now holds your desired String
Предпочтительный способ, если применимо:
for r in results:
print r.get('key_name')
просто напечатает None
, если key_name
не является ключом в словаре. У вас также может быть другое значение по умолчанию, просто передайте его в качестве второго аргумента:
for r in results:
print r.get('key_name', 'Missing: key_name')
Если вы хотите сделать что-то иное, чем использование значения по умолчанию (например, полностью пропустить печать, когда ключ отсутствует), тогда вам понадобится немного больше структуры, то есть либо:
for r in results:
if 'key_name' in r:
print r['key_name']
, либо
for r in results:
try: print r['key_name']
except KeyError: pass
второй может быть быстрее (если это достаточно редко, чем отсутствует ключ), но первый кажется более естественным для многих людей.
используйте has_key (), и это вернет истину или ложь
[Обновлено для удаления небрежной ошибки]
Вы также можете сделать что-то вроде этого:
for r in (row for row in results if 'a' in row):
print r['a']
Здесь используется выражение генератора для выбора "строк" из "результатов", где "строка" включает ключ "a".
Вот небольшой тестовый скрипт:
results = [{'a':True}, {'b':True}, {'a':True}]
for r in (row for row in results if 'a' in row): print r['a']
Если возможно, используйте библиотеку simplejson для управления данными JSON.