小编F16*_*con的帖子

在按日期的嵌套列表中按时间对元素进行分组?

我有一个具有这种结构的嵌套列表:

mylist = [

[
    ['Bob', 'Male', '2019-12-10 9:00'], 
    ['Sally', 'Female', '2019-12-10 15:00']
], 

[
    ['Jake', 'Male', '2019-12-12 9:00'], 
    ['Ally', 'Female', '2019-12-12 9:30'], 
    ['Jamal', 'Male', '2019-12-12 15:00']
], 

[
    ['Andy', 'Male', '2019-12-13 15:00'],
    ['Katie', 'Female', '2019-12-13 15:30']
]

]
Run Code Online (Sandbox Code Playgroud)

目前,这个主列表mylist是按日期组织的。包含同一天(即 2019-12-12、2019-12-13...)的所有元素嵌套在一起。

我想将此嵌套更进一步,并在该日期嵌套组内创建另一个嵌套组。这一次,我想按时间安排它们。我想将所有在 9 小时有标签的人组合在一起,并将在 15 小时有标签的人组合在一起。

所以,我试图得到这个输出:

newlist = [

[
  [
    ['Bob', 'Male', '2019-12-10 9:00']
  ], 
  [
    ['Sally', 'Female', '2019-12-10 15:00']
  ]
], 


[
  [
    ['Jake', 'Male', '2019-12-12 9:00'], 
    ['Ally', 'Female', '2019-12-12 9:30'], 
  ],
  [
    ['Jamal', 'Male', …
Run Code Online (Sandbox Code Playgroud)

python list python-3.x

5
推荐指数
1
解决办法
60
查看次数

组合嵌套列表中的列表,如果列表包含相同的元素?

我有一个结构与此类似的嵌套列表,但它显然要长得多:

mylist = [ ["Bob", "12-01 2:30"], ["Sal", "12-01 5:23"], ["Jill", "12-02 1:28"] ]
Run Code Online (Sandbox Code Playgroud)

我的目标是创建另一个嵌套列表,具有相同日期的所有元素组合在一起。因此,需要以下输出:

newlist = [  [["Bob", "12-01 2:30"], ["Sal", "12-01 5:23"]], [["Jill", "12-02 1:28"]]  ]
Run Code Online (Sandbox Code Playgroud)

上面,日期为 12-01 的所有项目,无论时间如何,都组合在一起,12-02 的所有元素都组合在一起。

在过去的 1 小时里,我一直在真诚地研究如何做到这一点,但找不到任何东西。此外,我是编程的初学者,所以我不够熟练,无法尝试创建自己的解决方案。所以,请不要认为我没有尝试做研究或自己尝试尝试这个问题。我将在下面添加一些链接作为我的研究示例:

将列表中的每一对元素收集到 Python 中的元组中

如果条件为真,则创建具有相邻列表元素的元组列表

如何在 Python 中连接两个列表?

在没有嵌套 for 循环的情况下在 Python 中连接两个字符串元素列表

根据字符串中的匹配日期将两个列表压缩在一起

如何将列表合并为元组列表?

python list python-3.x

4
推荐指数
1
解决办法
965
查看次数

查找列表元素的平均值,如果使用 Python 满足条件?

我有一个具有以下格式的列表:

mylist = ["Joe, 100%", "Joe, 80%", "Joe, 90%", "Sally, 95%", "Sally, 80%", "Jimmy, 90%", ...]
Run Code Online (Sandbox Code Playgroud)

我想要做的是,首先计算每个名字出现的次数。如果某个名称出现 2 次或更多次,请附加该名称以及平均百分比。所以,我试图获得以下输出:

newlist = ["Joe, 90%", "Sally, 87.5%"]
Run Code Online (Sandbox Code Playgroud)

为了尝试这个,我mylist.split(", ")只得到了名字,并用来Counter()查找名字出现的次数。然后,如果名称出现 2 次或更多次,我使用一个简单的if >= 2语句将名称附加到后面newlist

然而,尽管尝试了许多不同的事情,但我无法弄清楚如何在最终列表中使用名称获取百分比。我也不确定如何在谷歌上表达我的问题,所以我找不到任何帮助。有谁知道如何做到这一点?如果此问题重复,请告诉我(并提供链接以便我学习),我可以删除此问题。谢谢!

python math list python-3.x

0
推荐指数
1
解决办法
111
查看次数

标签 统计

list ×3

python ×3

python-3.x ×3

math ×1