这是我的清单
ab = [[1,2,3],[1,4,6],[5,86,3],[9,8,7],[12,98,13]]
我想检查一个号码是否在该列表中
sa= 5
如果它存在,我想进行更改(例如删除它)并变为:
ad = [[1,2,3],[1,4,6],[86,3],[9,8,7],[12,98,13]]
这是我的实际计划:
import random
lista=[]
def fun():
for i in range(1,80):
lista.insert(i,i)
return lista
#dimiourgia pexton me 5 ari8mous alla xoris onoma
pextes=[]
for i in range (1,100):
lista=[]
fun()
fivenum=[]
for j in range(1,5):
pick=(random.choice(lista))
lista.remove(pick)
fivenum.insert(j,pick)
pextes.insert(i,fivenum)
print pextes
lista=[]
fun()
for i in range(1,80):
lucknum=(random.choice(lista))
lista.remove(lucknum)
for j in range(1,100):
steal=lista[j]
for k in range(1,5):
if lucknum in lista[j,k]:
print "yes!!!!"
else:
print "hmmmmmm"
即使在列表中的搜索中我也被卡住了。
答案 0 :(得分:2)
您可以使用嵌套列表解析:
ab = [[1,2,3],[1,4,6],[5,86,3],[9,8,7],[12,98,13]]
sa= 5
new_ab = [[b for b in i if b != sa] for i in ab]
输出:
[[1, 2, 3], [1, 4, 6], [86, 3], [9, 8, 7], [12, 98, 13]]
或者,filter
可以与lambda
函数一起使用:
new_ab = [filter(lambda x:x != sa, i) for i in ab]