gpt4 book ai didi

python - 访问不等于特定值的列表元素

转载 作者:太空狗 更新时间:2023-10-30 02:39:02 25 4
gpt4 key购买 nike

我正在搜索这样的列表:

my_list = [['a','b'],['b','c'],['a','x'],['f','r']]

我想看看哪些元素带有 'a'。因此,首先我必须找到出现 'a' 的列表。然后访问列表的其他元素。我通过 abs(pair.index('a')-1)

执行此操作
for pair in my_list:
if 'a' in pair:
print( pair[abs(pair.index('a')-1)] )

有没有更好的 pythonic 方法来做到这一点?
类似于:pair.index(not 'a') 也许吧?

更新:

  • 或许最好指出 'a' 不一定是第一个元素。

  • 在我的例子中,['a','a'] 不会发生,但通常选择一个也能处理这种情况的解决方案可能会很好

最佳答案

您是否正在寻找伴随a 的元素?如果是这样,一个简单的列表理解就可以了:

In [110]: [x for x in my_list if 'a' in x]
Out[110]: [['a', 'b'], ['a', 'x']]

如果你只想要元素而不是元素对,在打印之前去掉 a 怎么样:

In [112]: [(set(x) - {'a'}).pop() for x in my_list if 'a' in x]
Out[112]: ['b', 'x']

我使用 set 因为 a 可以是对中的第一个第二个元素。

关于python - 访问不等于特定值的列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45561316/

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