[英]Concat every 4 strings from a list?
我有這個清單:
['192', '168', '0', '1', '80', '192', '168', '0', '2', '8080']...
我想得到這個清單:
['192.168.0.1:80', '192.168.0.2:8080']...
這樣做的最佳方式是什么?
使用range
與list
彈出?
使用list
切片?
>>> data = ['192', '168', '0', '1', '80', '192', '168', '0', '2', '8080']
>>> ['{}.{}.{}.{}:{}'.format(*x) for x in zip(*[iter(data)]*5)]
['192.168.0.1:80', '192.168.0.2:8080']
使用starmap
>>> from itertools import starmap
>>> list(starmap('{}.{}.{}.{}:{}'.format,zip(*[iter(data)]*5)))
['192.168.0.1:80', '192.168.0.2:8080']
這是一種方法,可能是也可能不是“最好的”方式:
>>> a = ['192', '168', '0', '1', '80', '192', '168', '0', '2', '8080']
>>> [":".join([".".join(a[x:x+4]), a[x+4]]) for x in range(0, len(a), 5)]
['192.168.0.1:80', '192.168.0.2:8080']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.