list1 = ["name1", "info1", 10]
list2 = ["name2", "info2", 30]
list3 = ["name3", "info3", 50]
MASTERLIST = [list1, list2, list3]
def printer(list):
print ("Available Lists:")
listlen = (len(list))
for x in range(listlen):
print (list[x])[0]
当我尝试运行printer(MASTERLIST)
时,此代码返回“'NoneType'对象不可订阅”错误。我做错了什么?
答案 0 :(得分:10)
print()
函数返回None
。您正在尝试索引无。你不能,因为'NoneType' object is not subscriptable
。
将[0]
放在括号内。现在你要打印所有内容,而不仅仅是第一个术语。
答案 1 :(得分:9)
[0]
需要在)
内。
答案 2 :(得分:1)
不要使用list
作为变量名称,因为它会影响内置。
并且无需确定列表的长度。只是迭代它。
def printer(data):
for element in data:
print(element[0])
只是一个附录:查看内部列表的内容,我认为它们可能是错误的数据结构。看起来你想要使用字典。
答案 3 :(得分:1)
A点:不要使用list作为变量名 B点:你不需要[0]只是
print(list[x])
答案 4 :(得分:0)
索引,例如[0]应该在印刷品内部出现......
答案 5 :(得分:0)
list1 = ["name1", "info1", 10]
list2 = ["name2", "info2", 30]
list3 = ["name3", "info3", 50]
def printer(*lists):
for _list in lists:
for ele in _list:
print(ele, end = ", ")
print()
printer(list1, list2, list3)