![](/img/trans.png)
[英]Storing values from binary output into list/dictionary/tuple (Python)
[英]Storing values from loop in a list or tuple in Python
我是python的新手,玩弄循环并坚持基本的怀疑
我试图执行以下操作:
tup1=()
for i in range(1,10,2):
tup1=(tup1,i)
print tup1
我希望out out是序列1到10.但是我最终得到以下结果:
((((((), 0), 2), 4), 6), 8)
如果这种方法是正确的还是有更好的方法来满足要求,请你帮助我吗?
如果你只想要一个偶数1到10的迭代,那么最简单的方法是:
seq = range(2, 11, 2)
如果您这样做是为了学习Python并且想要构建自己的数据结构,请使用列表:
l = []
for i in range(2, 11, 2):
l.append(i)
上面的for循环可以重写为列表理解:
l = [i for i in range(2, 11, 2)]
或在循环理解中使用if子句:
l = [ i for i in range(1, 11) if i % 2 == 0]
您可以使用+=
运算符将项附加到元组。
tup1=()
for i in range(1,10,2):
tup1+= (i,)
print tup1
打印(1, 3, 5, 7, 9)
元组是Python中的不可变对象。 这意味着你无法修改它们。 你现在正在做的是创建一个包含前一个元组的新元组
你可以这样做:
lst = []
for i in range(1,10,2):
lst.append(i)
tup = tuple(lst) #If you really want a tuple
print tup
但是lst = range(1,10,2)
或lst = range(1,10,2)
tup = tuple(range(1,10,2))
要好得多(除非你因为某些原因想使用append)
阅读列表理解
tuple(i for i in range(1, 10, 2))
要么
tup1 = ()
for i in range(1, 10, 2):
tup1 += (i,)
print tup1
它是这样的:
print range(1, 11)
您for i in range(1,10,2):
使用for i in range(1,10,2):
跳过两个for i in range(1,10,2):
如果for i in range(1,11):
使用for i in range(1,11):
if将增加1.至于tup1=(tup1,i)
你经常向对方添加元组,这会产生奇怪的输出。 如果要存储它们,可以使用列表。 否则使用会做得很好:
print(range(10))
项目清单
要附加到列表或元组中,您可以使用append()函数,也可以使用+ =运算符来执行相同操作。 S =()
对于范围内的i(1,11):s + =(i,)
print(s)#(1,2,3,4,5,6,7,8,9,10)
X =()
对于范围内的i(1,11,2):x + =(i,)
print(x)#odd nos from 1-9(1,3,5,7,9)
X =()
对于范围内的i(2,11,2):x + =(i,)
print(x)#even nos from 2-10(2,4,6,8,10)
通过以下方式将循环中的值存储在Python中的列表或元组中 -
- >通过在列表中添加值(此处为new_data1),因为连接在此处不起作用。
new_data1 = []
for line in all_words:
new_data=' '.join(lemmatize_sentence(line))
new_data1.append(new_data)
#print (new_data)
print (new_data1)
PS - 这只是代码的快照,仅用于提示。 希望这可以帮助!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.