add to a list in tuple with search in python
我有一个类(cls),有两个主字符串(str1,str2)和一个字符串列表(strlist)
python使strlist成为一个元组,因此当我想附加到它时,我使用
1 2 3 | tmp=list(strlist) tmp.append(addToList) self.list=tmp |
也许不是最好的选择,但它是我对python知之甚少的唯一选择。
现在我让事情变得更复杂了我有cls列表(cls list),我想在strlist中添加另一个字符串,其中str1=a&;str2=b
如何创建将在clslist中搜索匹配项的搜索,如果找到,将向strlist添加新字符串
编辑1
1 2 3 4 5 | class cls (): def __init__ (self,str1,str2,strlist): self.str1 = str1 self.str2 = str2 self.strlist = strlist |
和主要
1 2 3 | def main(): clslist =[] clslist.append(cls ("aaa","bbb",("123","456")) |
我想在cls list中找到cls,其中str1=aaa和str2=bbb,然后在str列表中添加另一个字符串。
所以我会这样结束("AAA","BBB","123","456","789"))
python不使strlist成为元组,而是传递一个元组。如果您想要一个列表,只需使用
1 | clslist.append(cls("aaa","bbb", ["123","456"]) |
搜索你的clslist很容易
1 2 3 4 | for item in clslist: if item.str1 == A and item.str2 == B: # do something item.strlist.append(otherstring) |
如果确实需要扩展元组,可以这样做
1 2 | >>> ("foo","bar")+("baz",) ('foo', 'bar', 'baz') |
在
因为clslist是未排序的,所以您的搜索将需要是线性的。
例如:
1 2 3 | for i in clslist: if i.str1 == A and i.str2 == B: i.strlist.append(whatever) |