以下是我的清单:
x = [['Godel Escher Bach', '1979', 'Douglas Hofstadter'], ['What if?', '2014', 'Randall Munroe'], ['Thing Explainer', '2015', 'Randall Munroe'], ['Alan Turing: The Enigma', '2014', 'Andrew Hodge']]
y = ['2014', '2015', '2014']
例如,取y[0]并将其与x[0][0]~x[2][2]进行比较,然后打印x中包含y元素的列表(嵌套列表)
此函数应将y中的所有元素与x中的每个元素进行比较
我已经想了两天了,我想不出来。请帮帮我!你知道吗
您可以使用内置的filter方法筛选所需内容:
它的功能:
它遍历
x
列表中的每个列表,并使用lambda
函数检查是否在y[1]
中找到每个子列表的第二个元素编辑:
如果您确定
x
的每个子列表中的日期保持相同的索引,即s[1]
,则上述代码将起作用但如果您不能保证,那么我更喜欢下一个代码(我已经向
x
添加了其他元素,具有不同的日期索引:据我所知,你想列一张在
x
出版日期在y
的书的清单。这应该做到:y
可能应该是这里的set
。性能提升可以忽略不计,因为y
非常小,但作为一个集合,它传达了您打算如何使用它:最后,您可能希望使用来自
collections
的namedtuple
来表示您的书籍。比如:然后,上面的列表变成:
这是好的和可读的。你知道吗
使用列表理解:
相关问题 更多 >
编程相关推荐