Нет ни одного, но его не так сложно сделать. Я нашел здесь: clamp
Это:
public static T Clamp(T value, T max, T min)
where T : System.IComparable {
T result = value;
if (value.CompareTo(max) > 0)
result = max;
if (value.CompareTo(min) < 0)
result = min;
return result;
}
И его можно использовать как:
int i = Clamp(12, 10, 0); -> i == 10
double d = Clamp(4.5, 10.0, 0.0); -> d == 4.5
В этом случае я бы предложил использовать mapply
вместо
mapply(function(x, y) {names(x)[2] <- y; x}, templist, allobj)
#[[1]]
# fruit df1 price
#1 apple Japan 32
#2 Orange China 53
#3 Pear Nigeria 12
#[[2]]
# grocery df2 name favourite.food invoice
#1 Durian Korea Mark Apple XD1
#2 Apple Japan John ORANGE XD2
#3 Watermelon Malaysia Tammy Cakes XD3
#[[3]]
# address df3
#1 address1 USA
#2 address2 UK
#3 address3 China
Если вы хотите использовать lapply
, вы можете использовать x
в качестве индекса для поднабора обоих [115 ], а также allobj
, поскольку для 1-го списка нам нужно имя из 1-го значения allobj
, для 2-го списка мы хотим 2-е значение allobj
и т. д.
lapply(seq_along(templist), function(x) {
names(templist[[x]])[2] <- allobj[x]
templist[[x]]
})