如何在 python 的嵌套列表中添加项目?来自用户输入
how to add items in a nested list in python? from user input
进入第一个嵌套列表后出现错误-"IndexError: list index out of range"
def add_hotel(name,n,ac,fb,tv,wifi,budget):
room=[[]]
room[2][1]=name
if(n>0):
for i in range(2,n+2):
room[i][1]=1
if(ac=="y" or"Y"):
room[i][2]="Air Conditioning"
else:
room[i][2]="No Air Conditioning"
if(fb=="y" or "Y" ):
room[i][3]="Free Breakfast"
else:
room[i][3]="Free Breakfast Not Available"
if(tv=="y" or "Y"):
room[i][4]="TV Available"
else:
room[i][4]="No TV"
if(wifi=="y" or "Y"):
room[i][5]="Wifi"
else:
room[i][5]="No Wifi"
room[i][5]=budget
print(room)
print(room)
这里 n 是房间数,我从索引 2 初始化它,因为我有两个预定义的列表实体。
我希望我的输出看起来像这样-(n=2)
[[hayat,1,"No Air Conditioning","Free Breakfast Not available","No TV","Wifi",30],[hayat,2,"No Air Conditioning","Free Breakfast Not available","TV available","Wifi",50]]
您正在使用
room[i][2]="Air Conditioning"
但是room[i]
列表中没有位置2
做什么
你应该使用函数 listname.append(val)
room[i].append("Air Conditioning")
你的代码变成
def add_hotel(name,n,ac,fb,tv,wifi,budget):
room=[]
room_tmp=[name]
if(n>0):
for i in range(2,n+2):
room_tmp.append(1)
if(ac=="y" or"Y"):
room_tmp.append("Air Conditioning")
else:
room_tmp.append("No Air Conditioning")
if(fb=="y" or "Y" ):
room_tmp.append("Free Breakfast")
else:
room_tmp.append("Free Breakfast Not Available")
if(tv=="y" or "Y"):
room_tmp.append("TV Available")
else:
room_tmp.append("No TV")
if(wifi=="y" or "Y"):
room_tmp.append("Wifi")
else:
room_tmp.append("No Wifi")
room_tmp.append(budget)
room.append(room_tmp)
print(room)
print(room)
我不明白你在做什么,你的答案仍然是这样的
进入第一个嵌套列表后出现错误-"IndexError: list index out of range"
def add_hotel(name,n,ac,fb,tv,wifi,budget):
room=[[]]
room[2][1]=name
if(n>0):
for i in range(2,n+2):
room[i][1]=1
if(ac=="y" or"Y"):
room[i][2]="Air Conditioning"
else:
room[i][2]="No Air Conditioning"
if(fb=="y" or "Y" ):
room[i][3]="Free Breakfast"
else:
room[i][3]="Free Breakfast Not Available"
if(tv=="y" or "Y"):
room[i][4]="TV Available"
else:
room[i][4]="No TV"
if(wifi=="y" or "Y"):
room[i][5]="Wifi"
else:
room[i][5]="No Wifi"
room[i][5]=budget
print(room)
print(room)
这里 n 是房间数,我从索引 2 初始化它,因为我有两个预定义的列表实体。 我希望我的输出看起来像这样-(n=2)
[[hayat,1,"No Air Conditioning","Free Breakfast Not available","No TV","Wifi",30],[hayat,2,"No Air Conditioning","Free Breakfast Not available","TV available","Wifi",50]]
您正在使用
room[i][2]="Air Conditioning"
但是room[i]
列表中没有位置2
做什么
你应该使用函数 listname.append(val)
room[i].append("Air Conditioning")
你的代码变成
def add_hotel(name,n,ac,fb,tv,wifi,budget):
room=[]
room_tmp=[name]
if(n>0):
for i in range(2,n+2):
room_tmp.append(1)
if(ac=="y" or"Y"):
room_tmp.append("Air Conditioning")
else:
room_tmp.append("No Air Conditioning")
if(fb=="y" or "Y" ):
room_tmp.append("Free Breakfast")
else:
room_tmp.append("Free Breakfast Not Available")
if(tv=="y" or "Y"):
room_tmp.append("TV Available")
else:
room_tmp.append("No TV")
if(wifi=="y" or "Y"):
room_tmp.append("Wifi")
else:
room_tmp.append("No Wifi")
room_tmp.append(budget)
room.append(room_tmp)
print(room)
print(room)
我不明白你在做什么,你的答案仍然是这样的