2016-11-21 14 views
0

ip_address = '172.16.%d.%d' % (rack_number, box_number)リストアドレスを動的にIPアドレスに追加する

私はIPアドレスを持っています。 1桁目と2桁目は静的です。 3番目と4番目はユーザーの入力に基づいて変更されます。

rack_numberは整数です。そこに問題はありません。しかし、ボックス番号は1-16の間になります。私はlistを使っています。

は私がコマンドを送信するために2つのIPアドレスを作成する必要がありますrack3box_number2, 9

次を持っているとしましょう。

ので、IPアドレスが172.16.3.2172.16.3.9

どのように機能的な方法でこれを達成することができますでしょうか?

+1

機能によってはどういう意味ですか?とにかく 'ip_address'を' rack_number'とリスト 'box_number'から構築されたコンテナ(おそらくリスト)にします。 –

答えて

2

リストの内包はあなたが必要とするすべてであるとのフォーマット新しいスタイルは、それが良く見えるのです:

ip_addresses = ['172.16.{}.{}'.format(rack, box) for box in box_numbers.split(', ')] 

box_numbersがリストである場合は、その唯一の分割は必要ないでしょう文字列入力に適用されます:

ip_addresses = ['172.16.{}.{}'.format(rack, box) for box in box_numbers] 
+0

もしbox_numbersがリストであれば。私はそれを分割する必要はありません。ちょうど提案。 – SpiderWasp42

+0

@ SpiderWasp42 *ユーザーの入力に基づいて*それは文字列であることを示します –

+0

私はユーザー入力がラック番号とbox_numbersの両方を参照していると思います。しかし、私は、OPがbox_numbersをリストと見なすことができることを明らかにして以来、回答を投稿するという観点から分割は必要ないと感じました。それ以外の場合は、最高のノッチの答え。乾杯! – SpiderWasp42

関連する問題