Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表存储到for循环中的变量中_Python_List_Loops_For Loop - Fatal编程技术网

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

Python 将列表存储到for循环中的变量中,python,list,loops,for-loop,Python,List,Loops,For Loop,因此,这个问题本身听起来很复杂。我正在制作一个可以读取css文件的程序。下面是完整的代码,如果您想查看()。所以我有一个变量。(我们称之为元素)元素位于for循环中,用于获取样式和名称。例如: for elementName in contents.split('{'): element = elementName.split('}') print(element + '\n\n') print(element) 结果: #For loop results ['#IDname

因此,这个问题本身听起来很复杂。我正在制作一个可以读取css文件的程序。下面是完整的代码,如果您想查看()。所以我有一个变量。(我们称之为元素)元素位于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 :(

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

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

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

这种类型的问题经常出现,常见的解决方案是将值添加到列表中,或者您可以创建一个字典并通过键引用元素。如果您想按照示例中添加的顺序引用元素,可以这样做

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
执行此操作时,可以使用“elements[2]”调用元素2

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

例如

abc = 'abcdefghijklmnopqrstuvwxyz'
lst = [letter for letter in abc]
new_list = list(enumerate(lst,start=1))
print(new_list)
将输出以下内容:

[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'),     (8, 'h'), (9, 'i'), (10, 'j'), (11, 'k'), (12, 'l'), (13, 'm'), (14, 'n'), (15, 'o'), (16, 'p'), (17, 'q'), (18, 'r'), (19, 's'), (20, 't'), (21, 'u'), (22, 'v'), (23, 'w'), (24, 'x'), (25, 'y'), (26, 'z')]

@乔兰比斯利:是的,我应该用口述。谢谢你。已修复。可能使用
emumerate()
而不是
累加器
。您还可以使用dict理解演示一个示例。@wwii,谢谢您的提示:)。我对stack还是个新手。。干杯