こんにちは。
問題のような質問になってしまい、申し訳ないですが、
例えばですが、下記に A/B/C と3つのリストがあり、
A ["りんご","なし","ぶどう","みかん"] = ["1","3","5","7"]
B ["りんご","もも","バナナ","オレンジ"] = ["2","4","6","8"]
C ["りんご","いちご","柿","パイナップル"] = ["4","6","8","10"]
ここから"りんご"をA/B/Cの共通ワードにして、最終的に
["りんご","なし","ぶどう","みかん"] = ["4","12","20","28"]
["りんご","もも","バナナ","オレンジ"] = ["4","8","12","16"]
["りんご","いちご","柿","パイナップル"] = ["4","6","8","10"]
と言った、Cを基準にした場合、りんごの"4"に合わせてほかの果物もAだったら4倍、
Bだったら2倍にする方法をご教授いただけると幸いです。
よろしくお願いいたします。
リストCが基準なのは確定なんですかね?
あとかならず倍率が整数倍になるとして、下記のような感じですか?
```python
listA = ["りんご","なし","ぶどう","みかん"]
listB = ["りんご","もも","バナナ","オレンジ"]
listC = ["りんご","いちご","柿","パイナップル"]
df1 = ["1","3","5","7"]
df2 = ["2","4","6","8"]
df3 = ["4","6","8","10"]
KeyWord = 'りんご'
#それぞれのリストの中でのキーワードのインデックスを求める
indexA = listA.index(KeyWord)
indexB = listB.index(KeyWord)
indexC = listC.index(KeyWord)
#listCを基準に何倍にすればよいかを求める(ここでは整数倍としています)
CperA = int(df3[indexC]) // int(df1[indexA])
CperB = int(df3[indexC]) // int(df2[indexB])
#リスト内包表記で各要素に倍率をかけて新しいリストにする
newA = [int(n) * CperA for n in df1]
newB = [int(n) * CperB for n in df2]
print(f'{listA} = {newA}')
print(f'{listB} = {newB}')
print(f'{listC} = {df3}')
```
ありがとうございます!
リストCの基準で問題ありませんでしたが、質問しようとしたところ別の方の回答で解決ができました!!
回答1件
あなたの回答
tips
プレビュー