Это работает:
def func(x):
d = eval(x['c'])
x['a'] = d['a']
x['b'] = d['b']
return x
df = df.apply(lambda x : func(x), axis=1)
Все свойства, описанные в System.getProperties () , стандартизированы - каждая реализация Java SE должна предоставлять их. Нет никаких причин, по которым Java 7 не могла бы вводить константы для этих стандартных имен свойств. Это не помешало бы введению новых свойств. Я думаю, что просто никто не думал, что это стоит затраченных усилий (даже тривиальные добавления в основные API Java должны проходить через процессы, я думаю).
Я предполагаю, что Sun не хотела фиксировать предопределенный набор системных свойств. Если они не определены как константы, они могут добавлять системные свойства в любое время (даже если они выпускают только инкрементную версию JDK, например, с 1.4.1 до 1.4.2).
Редактировать:
Любые предопределенные константы должны считаться частью API. Таким образом, даже изменение количества констант является изменением API. Не определяя никаких констант, Sun может определять новые системные свойства без внесения изменений в API.
В чем разница между «литералом»
и ЛИТЕРАЛЬНЫМ
?
Два символа: "
и "
.
Не могу понять, зачем вообще изобретать сложный набор LITERAL
s, когда " literal "
работает так же хорошо.