Python 如果列表中有信息,则如何打印列表信息,否则打印错误消息

Python 如果列表中有信息,则如何打印列表信息,否则打印错误消息,python,Python,所以我得到了这个代码,如果列表中包含“name”,那么应该可以显示列表的信息。该列表通过另一个函数d=load\u info('info.csv')从idel加载 此功能通过以下命令运行display\u info('Greyson',d) 然而,我得到了这个错误 TypeError:“str”对象不支持项分配 我该如何解决这个问题 def display_info(name, info_list): for i in info_list: if i ==

所以我得到了这个代码,如果列表中包含“name”,那么应该可以显示列表的信息。该列表通过另一个函数
d=load\u info('info.csv')
idel
加载

此功能通过以下命令运行
display\u info('Greyson',d)

然而,我得到了这个错误

TypeError:“str”对象不支持项分配

我该如何解决这个问题

def display_info(name, info_list):
        for i in info_list:
            if i == name:
                print ' '.join(name)
                break
            else:
                print False
name
在这里是一个字符串,字符串是不可变的。所以您不能使用
name[0]
来迭代信息列表,因为只有可变项可以用于迭代列表。
name[0]
更改为
i
(一个可变项)

用于信息列表中的name[0]:
-你这是什么意思?你不能以字符串中的索引开始for循环。啊,这太好了,但是,我的输出需要有角点:看起来像这样,迪克·格雷森:罗宾,夜翼,蝙蝠侠。差不多吧。我添加了“:”.join(每个_信息),但似乎只在每个字符串的末尾添加了:哈哈。。。
def display_info(name, info_list):
        for i in info_list:
            if i == name:
                print ' '.join(name)
                break
            else:
                print False
def display_info(name, info_list):
    for each_info in info_list:
        if each_info[0] == name:
            print ' '.join(each_info)
            break
        else:
            print False