Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python与锯齿数组的等价物是什么?_Python 3.x - Fatal编程技术网

Python 3.x Python与锯齿数组的等价物是什么?

Python 3.x Python与锯齿数组的等价物是什么?,python-3.x,Python 3.x,在使用Excel和学习VBA多年之后,我现在正在尝试学习Python。以下是场景: 我问了7位夏令营辅导员他们想负责哪些活动。每个学生都有随机数目的回答,所选活动的数量没有上限。然而,每项活动都是独一无二的,一旦学生“声称”,其他任何辅导员都无法声称。结果是: Adam: archery, canoeing Bob: frisbee, golf, painting, trampoline Carol: tennis, dance, skating Denise: cycling Eddie: h

在使用Excel和学习VBA多年之后,我现在正在尝试学习Python。以下是场景:

我问了7位夏令营辅导员他们想负责哪些活动。每个学生都有随机数目的回答,所选活动的数量没有上限。然而,每项活动都是独一无二的,一旦学生“声称”,其他任何辅导员都无法声称。结果是:

Adam: archery, canoeing
Bob: frisbee, golf, painting, trampoline
Carol: tennis, dance, skating
Denise: cycling
Eddie: horseback, fencing, soccer
Fiona: painting
George: basketball, football
我最熟悉VB(我是一个老家伙),过去我会将上述信息存储在一个锯齿状数组中。但由于我是Python新手,我对如何做到这一点感到困惑。我想一个列表对我来说很有用,这是我的代码。假设我有一份咨询师的名单,每个咨询师的活动都有单独的名单。如何合并它们或将它们放在一个数据结构中?下面我做错了什么?多谢各位

counselors = []
counselors = ['Adam','Bob','Carol','Denise','Eddie','Fiona','George']

#create a list of Carol's activities 
activities = []
activities = ['tennis','dance','skating']

counselors[2].append[(activities)]

Python中的锯齿数组几乎就是您提到的列表列表

我会使用字典来存储咨询师的活动信息,其中键是咨询师的姓名,值是咨询师将负责的活动列表,例如

counselors_activities = {"Adam": ["archery", "canoeing"],
                      "Bob": ["frisbee", "golf", "painting", "trampoline"],
                      "Carol": ["tennis", "dance", "skating"],
                      "Denise": ["cycling"],
                      "Eddie": ["horseback", "fencing", "soccer"],
                      "Fiona": ["painting"],
                      "George": ["basketball", "football"]}
并访问字典中的每位顾问:

counselors_activites["Adam"] # when printed will display the result => ['archery', 'canoeing']
list_of_available_activities.remove("archery")
counselors_activities["Adam"].append("archery")
关于这个问题,我会将可用的活动列表存储在一个列表中,任何时候选择一项活动,都会将其从列表中删除,并将其添加到字典中的咨询师:

counselors_activites["Adam"] # when printed will display the result => ['archery', 'canoeing']
list_of_available_activities.remove("archery")
counselors_activities["Adam"].append("archery")
如果咨询师不再负责该活动,则将其从他们手中删除,并将其添加回可用活动列表中

更新:我已经根据您的评论要求提供了一个更完善的解决方案

文本文件activites.txt:

Adam: archery, canoeing
Bob: frisbee, golf, painting, trampoline
Carol: tennis, dance, skating
Denise: cycling
Eddie: horseback, fencing, soccer
Fiona: painting
George: basketball, football
代码:

我在这个新示例中做了一个假设,即您已经有了一组可以从现有活动中选择的活动:

我使文本文件与问题中列出的咨询师及其活动的格式相同,但其逻辑可应用于其他存储方法

作为前面第二个示例的旁注和更正,我使用了一个集合来表示活动列表,而不是本示例中的列表。此集合仅用于验证没有顾问将负责已分配给其他人的活动;i、 例如,在最坏的情况下,从集合中删除活动要比从列表中删除活动快

咨询师可以从记事本文件插入词典,而无需将其插入列表

打印词典时,将产生以下结果:

{"Adam": ["archery", "canoeing"],
 "Bob": ["frisbee", "golf", "painting", "trampoline"],
 "Carol": ["tennis", "dance", "skating"],
 "Denise": ["cycling"],
 "Eddie": ["horseback", "fencing", "soccer"],
 "Fiona": [], # Empty activity list as the painting activity was already chosen by Bob
 "George": ["basketball", "football"]}

Python中的锯齿数组几乎就是您提到的列表列表

我会使用字典来存储咨询师的活动信息,其中键是咨询师的姓名,值是咨询师将负责的活动列表,例如

counselors_activities = {"Adam": ["archery", "canoeing"],
                      "Bob": ["frisbee", "golf", "painting", "trampoline"],
                      "Carol": ["tennis", "dance", "skating"],
                      "Denise": ["cycling"],
                      "Eddie": ["horseback", "fencing", "soccer"],
                      "Fiona": ["painting"],
                      "George": ["basketball", "football"]}
并访问字典中的每位顾问:

counselors_activites["Adam"] # when printed will display the result => ['archery', 'canoeing']
list_of_available_activities.remove("archery")
counselors_activities["Adam"].append("archery")
关于这个问题,我会将可用的活动列表存储在一个列表中,任何时候选择一项活动,都会将其从列表中删除,并将其添加到字典中的咨询师:

counselors_activites["Adam"] # when printed will display the result => ['archery', 'canoeing']
list_of_available_activities.remove("archery")
counselors_activities["Adam"].append("archery")
如果咨询师不再负责该活动,则将其从他们手中删除,并将其添加回可用活动列表中

更新:我已经根据您的评论要求提供了一个更完善的解决方案

文本文件activites.txt:

Adam: archery, canoeing
Bob: frisbee, golf, painting, trampoline
Carol: tennis, dance, skating
Denise: cycling
Eddie: horseback, fencing, soccer
Fiona: painting
George: basketball, football
代码:

我在这个新示例中做了一个假设,即您已经有了一组可以从现有活动中选择的活动:

我使文本文件与问题中列出的咨询师及其活动的格式相同,但其逻辑可应用于其他存储方法

作为前面第二个示例的旁注和更正,我使用了一个集合来表示活动列表,而不是本示例中的列表。此集合仅用于验证没有顾问将负责已分配给其他人的活动;i、 例如,在最坏的情况下,从集合中删除活动要比从列表中删除活动快

咨询师可以从记事本文件插入词典,而无需将其插入列表

打印词典时,将产生以下结果:

{"Adam": ["archery", "canoeing"],
 "Bob": ["frisbee", "golf", "painting", "trampoline"],
 "Carol": ["tennis", "dance", "skating"],
 "Denise": ["cycling"],
 "Eddie": ["horseback", "fencing", "soccer"],
 "Fiona": [], # Empty activity list as the painting activity was already chosen by Bob
 "George": ["basketball", "football"]}

除了下面的完整示例之外,您最初是如何构造数据的?即如何生成咨询师和活动列表。如何了解每位咨询师的相应活动。例如,您可以使用初始化器创建整个
dict
,但也可以按键添加到字典中,即
d[consucer].append(activity)
。如果数据正在流式传输,即你在某个时候得到咨询师,然后再进行相关活动,结构可以在飞行中更新。你有一个老顾问,有一些新的活动
d[consultor].extend([new activity,…])
顾问的名字从notepad.txt文件中读取并存储到Python列表中。咨询师选择的活动也会从不同的notepad.txts文件中读取,并存储到Python列表中。所以我有一份咨询师名单,每个咨询师选择的活动都有一份名单。然后,我想学习如何追加/合并/组合/配对?咨询师提供他/她的活动清单。假设我创建了一本词典。你是说我可以用字典把清单[活动]附加到合适的咨询师那里?我希望我使用了正确的术语。除了下面的完整示例之外,您最初是如何构造数据的?即如何生成咨询师和活动列表。如何了解每位咨询师的相应活动。例如,您可以使用in创建整个
dict