<bdo id='EaVhZ'></bdo><ul id='EaVhZ'></ul>

    1. <small id='EaVhZ'></small><noframes id='EaVhZ'>

      <legend id='EaVhZ'><style id='EaVhZ'><dir id='EaVhZ'><q id='EaVhZ'></q></dir></style></legend>
      <i id='EaVhZ'><tr id='EaVhZ'><dt id='EaVhZ'><q id='EaVhZ'><span id='EaVhZ'><b id='EaVhZ'><form id='EaVhZ'><ins id='EaVhZ'></ins><ul id='EaVhZ'></ul><sub id='EaVhZ'></sub></form><legend id='EaVhZ'></legend><bdo id='EaVhZ'><pre id='EaVhZ'><center id='EaVhZ'></center></pre></bdo></b><th id='EaVhZ'></th></span></q></dt></tr></i><div id='EaVhZ'><tfoot id='EaVhZ'></tfoot><dl id='EaVhZ'><fieldset id='EaVhZ'></fieldset></dl></div>

        <tfoot id='EaVhZ'></tfoot>
      1. Python:生成“元组集";来自“元组列表";不考虑顺序

        Python: Generating a quot;set of tuplesquot; from a quot;list of tuplesquot; that doesn#39;t take order into consideration(Python:生成“元组集;来自“元组列表;不考虑顺序)
        <i id='feXAM'><tr id='feXAM'><dt id='feXAM'><q id='feXAM'><span id='feXAM'><b id='feXAM'><form id='feXAM'><ins id='feXAM'></ins><ul id='feXAM'></ul><sub id='feXAM'></sub></form><legend id='feXAM'></legend><bdo id='feXAM'><pre id='feXAM'><center id='feXAM'></center></pre></bdo></b><th id='feXAM'></th></span></q></dt></tr></i><div id='feXAM'><tfoot id='feXAM'></tfoot><dl id='feXAM'><fieldset id='feXAM'></fieldset></dl></div>

            <bdo id='feXAM'></bdo><ul id='feXAM'></ul>

              <tbody id='feXAM'></tbody>
            <tfoot id='feXAM'></tfoot>

            <small id='feXAM'></small><noframes id='feXAM'>

            <legend id='feXAM'><style id='feXAM'><dir id='feXAM'><q id='feXAM'></q></dir></style></legend>
                • 本文介绍了Python:生成“元组集";来自“元组列表";不考虑顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如果我有如下的元组列表:

                  If I have the list of tuples as the following:

                  [('a', 'b'), ('c', 'd'), ('a', 'b'), ('b', 'a')]
                  

                  我想删除重复的元组(在内容和内部项目的顺序方面重复),以便输出为:

                  I would like to remove duplicate tuples (duplicate in terms of both content and order of items inside) so that the output would be:

                  [('a', 'b'), ('c', 'd')]
                  

                  或者

                  [('b', 'a'), ('c', 'd')]
                  

                  我尝试将其转换为设置然后列表,但输出将同时保持 ('b', 'a')('a', 'b') 在结果集中!

                  I tried converting it to set then to list but the output would maintain both ('b', 'a') and ('a', 'b') in the resulting set!

                  推荐答案

                  试试这个:

                  a = [('a', 'b'), ('c', 'd'), ('a', 'b'), ('b', 'a')]
                  b = list(set([ tuple(sorted(t)) for t in a ]))
                  [('a', 'b'), ('c', 'd')]
                  

                  让我们分解一下:

                  如果你对一个元组进行排序,它就会变成一个排序列表.

                  If you sort a tuple, it becomes a sorted list.

                  >>> t = ('b', 'a')
                  >>> sorted(t)
                  ['a', 'b']
                  

                  对于 a 中的每个元组 t,对其进行排序并将其转换回元组.

                  For each tuple t in a, sort it and convert it back to a tuple.

                  >>> b = [ tuple(sorted(t)) for t in a ]
                  >>> b
                  [('a', 'b'), ('c', 'd'), ('a', 'b'), ('a', 'b')]
                  

                  将结果列表 b 转换为集合:值现在是唯一的.将其转换回列表.

                  Convert the resulting list b to a set : values are now unique. Convert it back to a list.

                  >>> list(set(b))
                  [('a', 'b'), ('c', 'd')]
                  

                  等等!

                  请注意,您可以使用 b="noreferrer">生成器 而不是 列表理解.

                  Note that you can skip the creation of the intermediate list b by using a generator instead of a list comprehension.

                  >>> list(set(tuple(sorted(t)) for t in a))
                  [('a', 'b'), ('c', 'd')]
                  

                  这篇关于Python:生成“元组集";来自“元组列表";不考虑顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Initialize Multiple Numpy Arrays (Multiple Assignment) - Like MATLAB deal()(初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal())
                  How to extend Python class init(如何扩展 Python 类初始化)
                  What#39;s the difference between dict() and {}?(dict() 和 {} 有什么区别?)
                  What is a wrapper_descriptor, and why is Foo.__init__() one in this case?(什么是 wrapper_descriptor,为什么 Foo.__init__() 在这种情况下是其中之一?)
                  Initialize list with same bool value(使用相同的布尔值初始化列表)
                  setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)
                    <legend id='frE0j'><style id='frE0j'><dir id='frE0j'><q id='frE0j'></q></dir></style></legend>

                      1. <small id='frE0j'></small><noframes id='frE0j'>

                          <tbody id='frE0j'></tbody>
                      2. <tfoot id='frE0j'></tfoot>
                          <i id='frE0j'><tr id='frE0j'><dt id='frE0j'><q id='frE0j'><span id='frE0j'><b id='frE0j'><form id='frE0j'><ins id='frE0j'></ins><ul id='frE0j'></ul><sub id='frE0j'></sub></form><legend id='frE0j'></legend><bdo id='frE0j'><pre id='frE0j'><center id='frE0j'></center></pre></bdo></b><th id='frE0j'></th></span></q></dt></tr></i><div id='frE0j'><tfoot id='frE0j'></tfoot><dl id='frE0j'><fieldset id='frE0j'></fieldset></dl></div>
                          • <bdo id='frE0j'></bdo><ul id='frE0j'></ul>