以下是我目前正在使用的代码。我试图这样做,所以我可以在名称后添加第二个数据,因此它读取(name1,data1),(name2,data2),(name3,data3)。是否有允许我这样做的功能?
ListOfNames = []
while True:
Name = input('Input Band Member')
if Name != "":
ListOfNames.append(Name)
else:
break
答案 0 :(得分:1)
您不需要特殊功能,只需附加一个列表而不是字符串:
ListOfNames.append([Name, data])
或者,如果您在以后不知道数据是什么:
ListOfNames.append([Name])
然后:
ListOfNames[x].append(data)
其中x
是您要附加到的任何列表的索引。
或者,如果您希望首先独立构建两个列表,可以使用zip()
将它们合并。
zip(ListOfNames, data_list)
根据您的计划结构,这可能会或可能不会更合适。在不知道收集data_list的方式,时间或顺序的情况下,很难说。
答案 1 :(得分:1)
如果您愿意,可以将信息存储在两个单独的列表中,最后将它们与zip()
一起压缩。
你可以尝试这样:
namel = []
bandl = []
while True:
n = input("Enter Name: ")
if n != '':
d1 = input("Enter data1: ")
namel.append(n)
bandl.append(d1)
else:
break
print(list(zip(namel, bandl)))
演示输出:
Enter Name: Rupee
Enter data1: India
Enter Name: Dollar
Enter data1: USA
Enter Name:
[('Rupee', 'India'), ('Dollar', 'USA')]
或者,如果您确保用户输入以逗号分隔的2个值,您可以这样尝试:
l = []
while True:
n = input("Enter Name: ")
if n!='':
l.append(n.split(','))
else:
break
print(l)
演示运行:
Enter Name: Rupee, India
Enter Name: Dollar, USA
Enter Name:
[['Rupee', ' India'], ['Dollar', ' USA']]