Python 用户是否有一种简单的方法来选择哪些列表/字符串可以灵活组合?

Python 用户是否有一种简单的方法来选择哪些列表/字符串可以灵活组合?,python,list,input,choice,Python,List,Input,Choice,我有很多不同类别的清单。我试图找出一种有效的方法,让用户提供输入,告诉脚本哪些列表用于操作 例如,我有20个不同的列表,一个用户想用其中的3个组合成一个临时列表,那么最好的编码方式是什么 我是python的新手,所以我的第一反应是只使用一百万条if语句,但我怀疑这是最有效的方法 预期结果: list1 list2 list3 list4 list5 用户莫名其妙地说:“给我列表2、4和5 然后生成一个用户列表,即List0=list2+list4+list5将所有列表放入字典中 all_lis

我有很多不同类别的清单。我试图找出一种有效的方法,让用户提供输入,告诉脚本哪些列表用于操作

例如,我有20个不同的列表,一个用户想用其中的3个组合成一个临时列表,那么最好的编码方式是什么

我是python的新手,所以我的第一反应是只使用一百万条if语句,但我怀疑这是最有效的方法

预期结果:

list1
list2
list3
list4
list5
用户莫名其妙地说:“给我列表2、4和5


然后生成一个用户列表,即
List0=list2+list4+list5

将所有列表放入字典中

all_lists = {"list1": list1, "list2": list2, ...}
然后,用户选择3个列表:

name1 = input("First list name:")
name2 = input("Second list name:")
name3 = input("Third list name:")
list0 = all_lists[name1] + all_lists[name2] + all_lists[name3]

如果我把这个问题分成多个编程任务(分而治之),我会担心用户输入是第一个,列表的串联是第二个

用户指定列表的最简单方法是使用input()方法。下面是一个示例:

user_input = input("Please enter the list indexes")
list_indexes = user_input.split(',')
使用上面的代码,可以在下面找到一些用户输入的示例和结果:

用户输入:“1、4、5”

list_indexes = ['1', '4', '5']
现在我们已经处理了用户输入,我们可以使用它来连接列表

我们需要能够访问具有相同引用的每个类别(如果您想知道原因,请让我知道,我会解释)。一种方法是将所有类别列表放入一个称为“类别”的较大列表中

categories = [list1, list2, list3,...,list(n)]
然后,我们可以迭代这些类别并提取我们需要的数据

concatenated_list = []
for index, category in enumerate(categories):
    if (index in (int(i) for i in list_indexes):
        concatenated_list.extend(category)

你如何定义你的
列表
?好的,谢谢。但是如果我的用户只想要2个列表而不是3个,是否没有办法构建它,使它能够与他们想要的列表数量很好地伸缩?你可以将输入放入一个列表中,然后循环列表以连接。哇,谢谢,这非常有用。我一直在尝试使用“分而治之”“我自己。这很粗糙,因为我还不知道很多不同的命令都能做什么。我以前从来没有见过这些。没关系,我们都是从某个地方开始的。坚持下去,它们很快就会变得有意义:)需要关注的关键方法:枚举(返回集合中元素的索引和值)、列表中的i for i(这称为列表理解(非常有用))、list.extend(与list.append非常相似)=>实际上我认为最后一段代码可能有问题。Python在if语句nevermind中发现了语法错误。我犯了错误。目前唯一的另一件事是,user_input.split()方法虽然很有用,但仍然会给我一个字符串列表,其中我需要categories=[]来包含实际的列表变量。categories不应该包含实际的列表变量,这就是串联的_list变量的用途。如果这对你不起作用,请告诉我。