我有以下python脚本:
conn=boto.ec2.connect_to_region("us-west-1")
result=collections.defaultdict(list)
reservations = conn.get_all_instances()
for res in reservations:
for inst in res.instances:
if 'clusters' in inst.tags:
values = inst.tags['clusters']
print values
,输出为:
baka-alpha,baka-beta
app
app-demo,dhivart
api
sahar-du,app,api
我想将每个值存储在列表中:
['baka-alpha', 'baka-beta', 'app', 'app-demo', 'dhivart', 'api', 'sahar-du', 'app', 'api']
我该怎么办?请告诉我。
答案 0 :(得分:2)
如果要拆分的字符串已存在于变量中,例如values
,则可以尝试以下操作:
vl_list = [] # create a list for values
for line in values.split("\n"):
vl_list.extend(line.split(","))
完成此操作后,您就会在列表vl_list
如果正在从标准输入读取字符串并且您不知道,将提供多少行,您可以这样做:
from sys import stdin
vl_list = []
for line in stdin.readlines():
vl_list.extend(line.split(","))
编辑:
变量values
不包含循环后的所有值。因此,您可以将分割部分直接插入循环中,并且您将获得所有内容
vl_list = []
conn=boto.ec2.connect_to_region("us-west-1")
result=collections.defaultdict(list)
reservations = conn.get_all_instances()
for res in reservations:
for inst in res.instances:
if 'clusters' in inst.tags:
values = inst.tags['clusters']
vl_list.extend(values.split(","))
print values