我有一个名单my_names = ["A","B","C"]
我有一个函数,可以从列表中获取每个名称,并返回该名称的几个信息列表。
def my_function(name):
return list1, list2, list3
每个名称list1, list2, list3
都不同。
我想编写一个不需要任何用户输入的函数,但会返回一个包含3个列表的列表。
def my_function():
for name in my_list:
# Part I don't know how to do
name_list = list1, list2, list3
# A_list for "A", B_list for "B", C_list for "C"
return A_list, B_list, C_list
我唯一不知道的是如何让python根据my_list
中的名称引入新的空列表
答案 0 :(得分:2)
字典是最好的,但可以有一个列表列表。只需创建一个主列表:name_list = []
然后将每个列表附加到它:name_list.append(list1)
等。然后使用其索引引用每个列表,然后使用二级索引引用该列表中的元素。例如,
def my_function():
for name in my_list:
name_list = []
name_list.append(list1)
name_list.append(list2)
name_list.append(list3)
return name_list
然后,如果你想从返回的函数访问第一个列表中的第二个元素,你可以这样做:
name_list[0][1]
如果不了解更多关于您的问题的话,很难说更多,但这会有效,但这并不是最佳选择。
答案 1 :(得分:0)
您可以使用n个子列表创建嵌套列表,其中n是任意给定数量的列表
n = 3
nested_list = [[]] * n
# returns [[],[],[]]
#function that takes n, n=3
def create_nested_list(n):
nested_list = [[]] * n
return nested_list
nested list = create_nested_list(n)
您可以通过索引在嵌套列表的列表中追加项目,对于实例,nested_list [0] = [" A"]会追加数字" A"到第一个子列表,nested_list [1] = [" B"]到第二个和nested_list [2] = [" C"]到第三个子列表,所以nested_list = [[& #34; A"],[" B"],[" C"]]