我想从另一个列表中的列表中提取一个数字,我该怎么做?

2024-04-27 02:49:46 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的名单

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"

我甚至被困在名单里的搜索


Tags: inforrangerandomremoveinsertprintfun
1条回答
网友
1楼 · 发布于 2024-04-27 02:49:46

可以使用嵌套列表:

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]

相关问题 更多 >