将列表存储到for循环Python的变量中

时间:2015-09-24 17:15:06

标签: python list loops for-loop

所以,这个问题听起来很复杂。我正在制作一个可以读取css文件的程序。如果你想看到它,那么这是完整的代码(http://pastebin.com/F09MScfp)。所以我有一个变量。 (让我们称之为元素)元素在for循环中以获取样式和名称。例如:

for elementName in contents.split('{'):
    element = elementName.split('}')

    print(element + '\n\n')
print(element)

结果:

#For loop results
['#IDname', 'border:1px black solid;']
['.ClassName', 'border:3px blue solid']

#outside of loop (if global)
['IDname', 'border:1px black solid;']

所以我需要能够以自动方式将每个列表存储到变量中,比如调用Element1并获取#IDname。示例:print(Element2) 并得到这个结果

['.ClassName', 'border:1px black solid']

所以我想在这个循环中做一个循环,就像这样。

i=0
for i in element:
    i = 1+i
    exec('globals()Element+ %i = element' %i)
    #sorry, I'm still really new to python :(

2 个答案:

答案 0 :(得分:5)

将元素存储在列表中,以便稍后访问它们。

elements = [elementName.split("}") 
               for elementName in contents.split("{")]

print elements[0] # the first element
print elements[1] # the second element

答案 1 :(得分:0)

这种类型的问题经常出现,常见的解决方案是只将值添加到列表中,或者您可以创建字典并按键引用元素。如果您想按照示例中的顺序引用元素,则可以执行此操作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="seashellcontainer">seashellcontainer</div>
<div class="seashellcontainertwo">seashellcontainertwo</div>

执行此操作时,可以使用“elements [2]”调用元素2.

Joran评论的列表理解是更接近“Pythonic”的方法。您可以通过枚举列表解析将输出作为元组添加到列表中,为列表中的每个值提供类似的引用。

例如......

elements = {} # Create empty dictionary
accumulator = 1
for element in itterable:
    elements[accumulator] = element # Assign value to a key where accumulator is the key
    accumulator += 1

将输出:

abc = 'abcdefghijklmnopqrstuvwxyz'
lst = [letter for letter in abc]
new_list = list(enumerate(lst,start=1))
print(new_list)