拆分值并存储到列表中

时间:2016-06-05 07:20:44

标签: python python-2.7

我有以下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'] 

我该怎么办?请告诉我。

1 个答案:

答案 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