Python检查列表中的值是否存在于另一个列表中

Python检查列表中的值是否存在于另一个列表中,python,Python,我有一个要求,我试图找出一个列表中的一个值是否在另一个列表中找到,然后只取那个值 比如说 MyCountryList = ( 'United States', 'United Kingdom', 'Russia') data = (['United States', 'IDB', 1989, Decimal('275200141')], ['United States', 'IDC', 1990, Decimal('282899816')], 'India', 'IDD', 1989, De

我有一个要求,我试图找出一个列表中的一个值是否在另一个列表中找到,然后只取那个值

比如说

MyCountryList = ( 'United States', 'United Kingdom', 'Russia')

data = (['United States', 'IDB', 1989, Decimal('275200141')],
 ['United States', 'IDC', 1990, Decimal('282899816')],
'India', 'IDD', 1989, Decimal('275200141')],
 ['India', 'IDE', 1990, Decimal('282899816')])
我希望我的输出仅包含美国,因为这是唯一一个在此格式的列表中没有单词decimal和“”的国家

MyRequiredList = (['United States', 'IDB', '1989', '275200141'],
 ['United States', 'IDC', '1990', '282899816'])


data[0] gives me this ['United States', 'IDB', 1989, Decimal('92490932')]
您可以尝试以下方法:

from decimal import Decimal
MyCountryList = ( 'United States', 'United Kingdom', 'Russia')

data = (['United States', 'IDB', 1989, Decimal('275200141')],
  ['United States', 'IDC', 1990, Decimal('282899816')],
    ['India', 'IDD', 1989, Decimal('275200141')],
   ['India', 'IDE', 1990, Decimal('282899816')])
final_data = [i for i in data if i[0] in MyCountryList]
输出:

[['United States', 'IDB', 1989, Decimal('275200141')], ['United States', 'IDC', 1990, Decimal('282899816')]]

你想要两个列表的交集吗?@是的,我不想在其中使用decimal这个词,我想把上面有“”的年份插入到数据库中。我试过了,但没有成功。我想通过请求获取的数据列表可能有问题。@Sid29错误消息或不正确的输出具体是什么?它看起来是空的。你能从我更新的最后一行问题中推断出什么吗。数据[0]给了我这样一个信息…@Sid29奇怪的是,它应该是有效的,因为这是我上面回答的第一行
data