整数と文字列のデータ型を含むPythonリストがあります。私がする必要があるのはsum()
、リストで関数を実行するときに要素の置換を実行することだけです。
例:リストはlis=[ 1, 4, 'Jan', 8]
、合計関数を実行するときにJan
整数1
に置き換える必要があります。したがって、sum関数の最終出力は次のようにsum(lis)
なり1 + 4 + 1 + 8
ます14
。
リストにはそのような文字列が複数ある可能性があり、リストで実行sum()
するときはそれらすべての文字列を置き換える必要があります。仮定しFeb=2, Mar=3, Apr=4
、Feb
置き換えられ2
たときsum()
などと呼ばれています
リスト内の要素を置き換えたくありません。それらは、合計が呼び出されたときにのみ交換する必要があります。組み込み関数またはそれを行うための何かがありますか?
合計中にリストの要素を値にマップする必要があります。それを行う関数を作成する必要があります(そのための組み込み関数はあり得ず、値を知っているのはあなただけです)。何かのようなもの
def f(value):
if isinstance(value, int):
return value
return months[value]
のmonths
ような口述はどこにありますか{'jan': 1, 'feb': 2...}
その後、
sum([f(value) for value in my_list])
または
sum(map(f, my_list))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加