作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大量的二元子列表,它们是名为 mylist
的列表的成员:
mylist = [['AB001', 22100],
['AB001', 32935],
['XC013', 99834],
['VD126', 18884],
['AB001', 34439],
['XC013', 86701]]
我想根据子列表是否包含与第一项相同的字符串,将 mylist
排序为新的子列表。例如,这就是我正在寻找要输出的代码:
newlist = [['AB001', 22100], ['AB001', 32935], ['AB001', 34439]],
[['XC013', 99834], ['XC013', 86701]],
[['VD126', 18884]]
这是我尝试编写代码的方式:
mylist = sorted(mylist)
newlist = []
for sublist in mylist:
id = sublist[0]
if id == next.id:
newlist.append(id)
print newlist
我还试图了解 itertools.groupby()
是否是解决此问题的正确工具。有人可以帮我解决这个问题吗?
最佳答案
你说这是 groupby
的工作是对的:
from itertools import groupby
from operator import itemgetter
mylist = [['AB001', 22100],
['AB001', 32935],
['XC013', 99834],
['VD126', 18884],
['AB001', 4439],
['XC013', 86701]]
print([list(value) for key, value in groupby(sorted(mylist), key=itemgetter(0))])
这将为您提供一个列表列表,按子列表中的第一项分组。
[[['AB001', 4439], ['AB001', 22100], ['AB001', 32935]],
[['VD126', 18884]],
[['XC013', 86701], ['XC013', 99834]]]
关于python - 根据共同的第一项将子列表分类为新的子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7114038/
我有一个数据框,其中一列包含“键=值”格式的多个信息。该列中可以出现近一百个不同的“key=value”,但为了简单起见,我将仅使用 4 个 (_browser, _status, _city, ta
我有一个数据框,其中一列包含“键=值”格式的多个信息。该列中可以出现近一百个不同的“key=value”,但为了简单起见,我将仅使用 4 个 (_browser, _status, _city, ta
我有一个带有 ID 和功能的 Rdd。简而言之,我试图输出与标签(“id”)与其所属的簇号(0、1、2等)相匹配的内容 rdd 数据集中的三行看起来像这样(虽然它更像是 100 行,第一项是字符串,其
我是一名优秀的程序员,十分优秀!