相关疑难解决方法(0)

通过相同的元组项将元组列表拆分为多个列表

我看到一个完全由元组组成的列表,例如:

lst = [("hello", "Blue"), ("hi", "Red"), ("hey", "Blue"), ("yo", "Green")]
Run Code Online (Sandbox Code Playgroud)

我怎样才能lst分成与颜色一样多的列表?在这种情况下,3个列表

[("hello", "Blue"), ("hey", "Blue")]
[("hi", "Red")]
[("yo", "Green")]
Run Code Online (Sandbox Code Playgroud)

我只需要稍后能够使用这些列表,所以我不想只是将它们输出到屏幕上。

名单详情

我知道 的每个元素lst都是严格的双元素元组。颜色也始终是每个元组的第二个元素。

问题

问题是,lst取决于用户输入,所以我不会总是知道总共有多少颜色以及它们是什么。这就是为什么我不能预定义变量来存储这些列表。

那么如何做到这一点呢?

python split tuples list

10
推荐指数
2
解决办法
1186
查看次数

根据共同的第一项将子列表排序为新的子列表

我有大量的二元子列表,它们是名为 的列表的成员mylist

mylist = [['AB001', 22100],
          ['AB001', 32935],
          ['XC013', 99834],
          ['VD126', 18884],
          ['AB001', 34439],
          ['XC013', 86701]]
Run Code Online (Sandbox Code Playgroud)

我想根据mylist子列表是否包含与第一项相同的字符串来排序新的子列表。例如,这就是我正在寻找要输出的代码:

newlist = [['AB001', 22100], ['AB001', 32935], ['AB001', 34439]],
          [['XC013', 99834], ['XC013', 86701]],
          [['VD126', 18884]]
Run Code Online (Sandbox Code Playgroud)

这是我尝试编码的方式:

mylist = sorted(mylist)
newlist = []
for sublist in mylist:
    id = sublist[0]
if id == next.id:
    newlist.append(id)
print newlist
Run Code Online (Sandbox Code Playgroud)

我还试图了解是否itertools.groupby()是解决此问题的正确工具。有人可以帮我解决这个问题吗?

python sorting list

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

标签 统计

list ×2

python ×2

sorting ×1

split ×1

tuples ×1