拆分值并存储到lis中

2024-06-16 11:52:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我怎么能这么做?请告诉我。你知道吗


Tags: instancesinalphaapiappfortagsres
1条回答
网友
1楼 · 发布于 2024-06-16 11:52:30

如果要拆分的字符串已经存在于变量中,如values,可以尝试以下操作:

vl_list = [] # create a list for values
for line in values.split("\n"):
    vl_list.extend(line.split(","))

完成后,您的值将在一个列表中vl_list

如果正在从stdin读取字符串,而您不知道将提供多少行,则可以这样做:

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

相关问题 更多 >