2013-04-09 69 views
0

因此,如果列表中包含「名稱」,我就得到了應該讓您顯示列表信息的代碼。該列表由idel由不同的功能d = load_info('info.csv')加載。如果信息在列表中,並且出現錯誤消息,則如何打印列表信息

def display_info(name, info_list): 
     for name[0] in info_list: 
      if name[0] == name: 
       print ' '.join(name) 
       break 
      else: 
       print False 

此功能是通過這個命令display_info('Greyson', d)

但是跑,我收到此錯誤

TypeError: 'str' object does not support item assignment.

我該如何解決這個問題?

+2

'爲名字[0] info_list:' - 那你的意思了? – 2013-04-09 18:07:48

+0

您無法執行以字符串中的索引開頭的for循環。 – squiguy 2013-04-09 18:08:03

回答

0
def display_info(name, info_list): 
     for i in info_list: 
      if i == name: 
       print ' '.join(name) 
       break 
      else: 
       print False 

name這裏是一個字符串,字符串是不可變的。所以你不能使用name[0]迭代info_list,因爲只能使用可變項來迭代列表。 更改name[0]i(一個可變的項目)

+0

啊,我很好,但它的工作原理,但我的輸出需要有來者,並且:看起來像這樣,Dick greyson:羅賓,夜鶯,蝙蝠俠。類似的東西。我添加':'.join(each_info),但似乎只增加:每個字符串結束哈哈... – 2013-04-09 18:25:26

0
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