Python 基于条件提取列表的一部分

Python 基于条件提取列表的一部分,python,list,Python,List,我在名为lst的列表中有10个列表 我想使用for循环遍历列表,对所有具有特定值的列表,例如CRORE,而不是整个列表进行迭代。基于索引1处的值筛选列表的列表的两种方法: lst = [[2,'UNIT'], [5,'TEN'], [8,'HUNDRED'], [7, 'THOUSAND'], [8, 'THOUSAND'], [9,'LAKH'], [6, 'LAKH'], [4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']] 这可能会有帮助。我

我在名为
lst
的列表中有10个列表


我想使用
for
循环遍历列表,对所有具有特定值的列表,例如
CRORE
,而不是整个列表进行迭代。

基于索引1处的值筛选列表的
列表的两种方法:

lst = [[2,'UNIT'], [5,'TEN'], [8,'HUNDRED'], [7, 'THOUSAND'], [8, 'THOUSAND'], [9,'LAKH'], 
       [6, 'LAKH'], [4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']]

这可能会有帮助。我已经编写了以下代码:

filtered_list = list(filter(lambda x: x[1] == 'CRORE', lst))
filtered_list = [i for i in lst if i[1] == 'CRORE']
此处
x
表示列表中的所有子列表,即
lst
, 和
y
表示子列表中的值,即整数或字符串

这也可以使用下面提到的列表理解来完成 在这里,您将得到一个新列表,其值仅为
CRORE

lst = [[2,'UNIT'], [5,'TEN'], [8,'HUNDRED'], [7, 'THOUSAND'], [8, 'THOUSAND'],
       [9,'LAKH'], [6, 'LAKH'], [4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']]

for x in lst:
    for y in x:
        if y=="CRORE":
            print(x)

遍历列表,它包含列表中的2个元素,所以获得第二个位置并使用if条件,创建另一个列表并向其添加数据

lst = [[2,'UNIT'], [5,'TEN'], [8,'HUNDRED'], [7, 'THOUSAND'], [8, 'THOUSAND'],
       [9,'LAKH'], [6, 'LAKH'], [4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']]

newlst = [x for x in lst if x[1] == 'CRORE']
print(newlst)
在一行中回答列表理解

lst = [[2,'UNIT'], [5,'TEN'], [8,'HUNDRED'], [7, 'THOUSAND'], [8, 'THOUSAND'], [9,'LAKH'], [6, 'LAKH'], [4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']]
lst1=[]
for i,j in lst:
    if j=='CRORE':
        lst1.append([i,j])
输出:

lst1=[[i,j] for i,j in lst if j=="CRORE"]

你有没有试过?你犯了什么错误?我也提到了!我已经提到了两种方法,你可以检查。。。两者都将起到同样的作用。
[[4, 'CRORE'], [2, 'CRORE'], [3, 'CRORE']]