新手在这里。
假设您想在不事先知道列表大小的情况下将列表中的元素分配给变量,那么您如何做,特别是在Python中?例如:
例如。 list
有5个元素,程序创建5个变量(var1,var2,var3,var4,var5)并为其分配元素。将列表元素分配给变量而不知道列表的大小?
2
A
回答
5
也许你shoulde使用dict
>>> lst = [0, 1, 2, 3, 4]
>>> d = {}
>>> for i, item in enumerate(lst):
... d['var' + str(i)] = item
...
>>> d
{'var4': 4, 'var1': 1, 'var0': 0, 'var3': 3, 'var2': 2}
0
您可以创建一个空列表并为其添加任意数量的元素,而不必担心其大小。
mylist = [] #empty list, list is not constrained to be any particular size
mylist.append(some_var) #add a variable to list
2
如果你要问实际上是 - 我想有0-n个元素的列表,但我只打算知道元素的值5,20和67以及其他所有元素都应该是默认值,那么可以使用带整数键的dict
作为稀疏列表。
d = {}
d[5] = 34.7
d[20] = 68.1
d[67] = 9.13
然后,你可以使用如:
d.get(5, 'default')
# 34.7
d.get(6, 'default')
# default
如果你想兑现该字典到列表中,那么你可以使用列表-COMP:
mylist = [d.get(i, 'default') for i in range(max(d))]
print len(mylist), mylist[:10]
# 67 ['default', 'default', 'default', 'default', 'default', 34.700000000000003, 'default', 'default', 'default', 'default']
0
我答案建立在black_dragon的答案上。我的处理清单的方法是他的答案。
由于您想根据列表中的值创建变量,因此您可以使用globals()(一种用于获取全局符号表的内置函数)来更新全局字典。更新全局符号字典将创建或修改变量。
l = [10, 20, 30]
d = {}
for i,v in enumerate(l):
d ['var'+str(i)] = v
globals().update(d)
print var0
print var1
print var2
相关问题
- 1. 分配变量到列表元素,不知道它的长度
- 2. 将变量分配给列表中的随机元素? Python
- 3. 将固定数量的变量分配给变量列表中的元素
- 4. 将值分配给变量列表
- 5. 将变量分配给临时表列
- 6. 如何将变量分配给列表中的元素的字符串而不是单独的元素?
- 7. 如何将值列表分配给列表元素
- 8. 如何将增量名称分配给列表中的元素?
- 9. 将值列表分配给变量列表
- 10. 在列表列表中的值分配给元素分配给价值
- 11. Python,将列表的最后三个元素分配给各个变量
- 12. 拆分列表元素扩大列表
- 13. 列表框值未分配给变量
- 14. Python - 搜索列表,分配给变量
- 15. 分配一个巨大的元素列表到dict列表
- 16. 表变量列大小
- 17. 如何将样式表元素的值分配给变量?
- 18. 我可以将符号列表分配给Guile中的元素列表吗?
- 19. 将值分配给列表
- 20. 将值分配给列表
- 21. C#分配列表的元素的变量
- 22. 将列表的第k个元素分配给'obj_k'
- 23. python将值分配给循环中的列表元素
- 24. 将Python列表的元素分配给字符串
- 25. 将NULL分配给R中的列表元素?
- 26. 将变量值分配为表列名
- 27. 如何将列表中的元素传递给变量
- 28. Python:我如何迭代每个子列表的第一个元素而不知道子列表的数量?
- 29. 如何在列表中分配变量而不仅仅是列表元素? (for python)
- 30. 为什么我不能分配给特定的元素列表
你应该阅读蟒蛇教程:http://docs.python.org/2/tutorial/index.html 在Python有没有必要知道为了元素添加到列表的长度它 –
如果你不知道有多少变量,你会如何处理这些变量? – ecatmur