2016-11-21 58 views
0

ip_address = '172.16.%d.%d' % (rack_number, box_number)動態添加列表索引到IP地址

我有一個IP地址。第一個和第二個數字是靜態的。第三名和第四名將根據用戶輸入進行更改。

rack_number是一個整數。那裏沒有問題。但是,箱子號碼將在1-16之間。我正在使用list

比方說我有rack3box_number2, 9

接下來,我需要創建兩個IP地址發送命令。

因此,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