python - Python:在列表列表中查找名称
问题描述
所以,我必须在列表中搜索一个名字,并且代码必须给我所有具有该名字的联系人。例如:我的代码是:
def find_contacts(contacts = [['Bruno Jr', '@brunojr'], ['Brunosvaldo Kean', 'brunosvaldo_kean']], name = 'Bruno'):
for list in contacts:
if name in list:
print(name)
输出应该是 [['Bruno Jr'],[Brunosvaldo Kean]] 但我什么也没得到,我真的不知道为什么 Python 不给我名字。有人请帮我理解错误。
解决方案
首先,你不应该将你的变量命名为“list”——它是 python 内置的。尽管如此 - 代码几乎没问题,但您的 if 条件将不起作用,因为您没有确切的名称“布鲁诺”作为列表元素。您所做的是检查 'Bruno' 是否在 ['Bruno Jr', '@brunojr'] 中 - 要快速修复它,您可能应该在名称字符串的第一个 elem 中搜索:
def find_contacts(contacts = [['Bruno Jr', '@brunojr'], ['Brunosvaldo Kean', 'brunosvaldo_kean']], name = 'Bruno'):
for person_list_data in contacts:
if name in person_list_data[0]:
print(name)
但是,请注意超出范围的错误。
推荐阅读
- flutter - 在文本小部件中接收数据后如何关闭对话框小部件
- javascript - Javascript:未捕获的类型错误:无法读取未定义的属性 innerHTML
- java - 如何在用 Kotlin 或 Java 编写的 Android 应用程序中硬编码 http_proxy 设置
- laravel - Lararel Mix 编译 css 空白页
- android - Android 应用程序:为什么需要 Youtube API 同意?
- javascript - WSO2 脚本中介的 setPayloadJSON 中是否存在换行符错误?
- apache-kafka - Kafka & Connect - 如何修复 AVRO Schema 数据类型
- json - 使用钩子在 REACTJS 中使用数组发布请求
- ruby-on-rails - Rails - ActionCable:Kubernetes/Minikube 的“action_cable.url”
- mysql - 2 列的唯一约束,其中一列具有特定值