gpt4 book ai didi

python - 引用元组列表中所有元组的第一个元素

转载 作者:太空狗 更新时间:2023-10-30 03:03:56 24 4
gpt4 key购买 nike

问题标题正是我想知道的!

假设我有一个元组列表:

tuple_list = [(1,'a'),(2,'b'),(3,'c')]

我会用什么来指代 tuple_list 的所有第一个元素?我想要返回的是第一个元素的列表。就像 tuple_list.keys() 如果它是一本字典就可以工作。像这样:

(tuple_list expression here) = [1,2,3]

这可能吗?是否有一个简单的表达式,或者我是否必须遍历 tuple_list 并以此方式创建一个单独的第一个元素列表?

此外,我想这样做的原因是因为我想做以下事情:

first_list = [(1,'a'),(2,'b'),(3,'c')]
second_list = [1,2,3,4,4,5]

third_list = set(second_list) - set(first_list(**first elements expression**)) = [4,5]

我正在将其改编为一些使用字典的旧代码中的列表:

first_dict = {1:'a',2:'b',3:'c'}
second = [1,2,3,4,4,5]

third_dict = set(second) - set(first_dict.keys()) = [4,5]

因此我的困境是列表缺少 .key()

一如既往,如果我能以任何方式改进/澄清问题,请发表评论。

谢谢,

亚历克斯

最佳答案

,这是可能的。

使用列表理解:

>>> tuple_list = [(1,'a'),(2,'b'),(3,'c')]
>>> [x[0] for x in tuple_list]
[1, 2, 3]

或:

>>> from operator import itemgetter
>>> f = itemgetter(0)
>>> map(f, tuple_list)
[1, 2, 3]

你的例子:

>>> first_list = [(1,'a'),(2,'b'),(3,'c')]
>>> second_list = [1,2,3,4,4,5]
>>> set(second_list) - set(x[0] for x in first_list)
set([4, 5])
>>> set(second_list) - set(map(f, first_list))
set([4, 5])

或如@JonClements 所建议,这会更快:

>>> set(second_list).difference(map(f, first_list))
set([4, 5])

请注意,如果您多次执行此操作,则可以将 first_list 转换为 dict:

>>> dic = dict(first_list)
>>> set(second_list).difference(dic)
set([4, 5])

关于python - 引用元组列表中所有元组的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17601140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com