python list.append() 如何在列表名后引用变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python list.append() 如何在列表名后引用变量相关的知识,希望对你有一定的参考价值。
list_1 = []
list_2 = []
list_3 = []
for i in range(1,4)
list_(变量1-3).append(1)
有3个列表 现在我想让这个循环分别往这3个列表里添加一个数据
我试过list_%s.append(1) % i ’list_%s.append(1)’ % i 但是都报错了
--help!!!!!!
你可以把这 3 个 list 放到一个 list 中:
list_1 = []list_2 = []
list_3 = []
lists = [list_1, list_2, list_3]
for i in range(1,4):
lists[i-1].append(1) # i-1 是因为 list 的索引是从 0 开始的 参考技术A 直接赋值就可以了。
a='a':1,'b':[2]
a['c']=3
(此时a
=
'a':1,'b':[2],'c':3)
a['b'].append(4)
(此时a
=
'a':1,'b':[2,4],'c':3)
a['b']对应的是一个数组[2]所以有append。dict是字典,不需要增加而是直接赋值,相当于给字典添加一个定义
允许Python list append方法返回新列表
我想做这样的事情:
myList = [10,20,30]
yourList = myList.append (40)
不幸的是,list append不会返回修改后的列表。
那么,我怎样才能让append
返回新列表呢?
不要使用追加而是连接:
yourList = myList + [40]
这会返回一个新列表; myList
不会受到影响。如果你需要让myList
受影响,或者使用.append()
无论如何,然后分配yourList
(qartxswpoi的副本)。
在python 3中,您可以通过解压旧的并添加新元素来创建新列表:
myList
当你这样做时:
a = [1,2,3]
b = [*a,4] // b = [1,2,3,4]
你实际上有3个列表。
myList + [40]
是内置的,因此无法更改。但如果你愿意使用list.append
以外的东西,你可以试试append
:
+
当然,这样做的缺点是创建了一个比In [106]: myList = [10,20,30]
In [107]: yourList = myList + [40]
In [108]: print myList
[10, 20, 30]
In [109]: print yourList
[10, 20, 30, 40]
花费更多时间的新列表
希望这可以帮助
您可以子类化内置列表类型并重新定义'append'方法。或者甚至更好,创建一个新的,它将做你想要它做的事情。下面是重新定义的'append'方法的代码。
append
希望有所帮助。
尝试使用#!/usr/bin/env python
class MyList(list):
def append(self, element):
return MyList(self + [element])
def main():
l = MyList()
l1 = l.append(1)
l2 = l1.append(2)
l3 = l2.append(3)
print "Original list: %s, type %s" % (l, l.__class__.__name__)
print "List 1: %s, type %s" % (l1, l1.__class__.__name__)
print "List 2: %s, type %s" % (l2, l2.__class__.__name__)
print "List 3: %s, type %s" % (l3, l3.__class__.__name__)
if __name__ == '__main__':
main()
。这会将生成器作为序列返回,而不是分配新列表。本质上,它返回第一个iterable中的所有元素,直到它耗尽,然后进入下一个iterable,直到所有的iterables都用完为止。
只是为了扩展Storstamp的答案
你只需要做myList.append(40)
它会将其附加到原始列表,现在您可以返回包含原始列表的变量。
如果您正在处理非常大的列表,那么这是可行的方法。
你只需要做myList.append(40)
它会将其附加到原始列表,而不是返回新列表。
以上是关于python list.append() 如何在列表名后引用变量的主要内容,如果未能解决你的问题,请参考以下文章
LIST.append(1) 和 LIST = LIST + [1] (Python) 有啥区别
python中的list.append(another_list) vs list.append(another_list[:])? [复制]