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']]