相关疑难解决方法(0)

Python数据结构按字母顺序排序

我对python中的数据结构有点困惑; (),[]{}.我试图找出一个简单的列表,可能因为我无法识别我无法对其进行排序的数据类型.

我的清单很简单: ['Stem', 'constitute', 'Sedge', 'Eflux', 'Whim', 'Intrigue']

我的问题是这是什么类型的数据,以及如何按字母顺序对单词进行排序?

python sorting list alphabetical

140
推荐指数
5
解决办法
29万
查看次数

关于Python内置的sort()方法

sort()Python使用的内置方法是什么算法?是否可以查看该方法的代码?

python sorting algorithm python-internals

94
推荐指数
3
解决办法
5万
查看次数

在python中对具有特定语言环境的字符串列表进行排序

我在使用来自不同语言的文本的应用程序,因此,为了查看或报告目的,某些文本(字符串)需要以特定语言进行排序.

目前我有一个解决方法搞乱全局区域设置,这是不好的,我不想把它投入生产:

default_locale = locale.getlocale(locale.LC_COLLATE)

def sort_strings(strings, locale_=None):
    if locale_ is None:
        return sorted(strings)

    locale.setlocale(locale.LC_COLLATE, locale_)
    sorted_strings = sorted(strings, cmp=locale.strcoll)
    locale.setlocale(locale.LC_COLLATE, default_locale)

    return sorted_strings
Run Code Online (Sandbox Code Playgroud)

官方python语言环境文档明确说明保存和恢复是一个坏主意,但没有给出任何建议:http://docs.python.org/library/locale.html#background-details-hints-tips-and-caveats

python ctypes locale glibc

9
推荐指数
3
解决办法
4433
查看次数

Python - 按字母顺序排列单词

程序必须按字母顺序打印8个元素中的最后一个名称.名称/单词可以通过代码以任何方式输入.我想我应该在in range()这里使用列表.我有一个想法是将输入名称的第一个/第二个/第三个/ ...字母与前一个字母进行比较,然后将其放在列表的末尾或前一个的前面(取决于比较),然后重复下一个名称.最后,程序将打印列表的最后一个成员.

python list range alphabetical

8
推荐指数
1
解决办法
6万
查看次数

按长度排序的列表,但在步骤中按字母顺序排列相同的长度

我的Python字符串列表类似x但足够长:

x = ['aaa','ab','aa','c','a','b','ba']      
Run Code Online (Sandbox Code Playgroud)

我想对此列表进行排序为: ['a', 'b', 'c', 'aa', 'ab', 'ba', 'aaa']和我一样在以下2步:

>>> x.sort()   
>>> x.sort(key=len)      
>>> x
['a', 'b', 'c', 'aa', 'ab', 'ba', 'aaa']   
Run Code Online (Sandbox Code Playgroud)

但我需要一步到位:我还使用lambda函数绑定(采取帮助):

>>> x.sort(key=lambda item: (item, len(item)))
>>> x
['a', 'aa', 'aaa', 'ab', 'b', 'ba', 'c']  
Run Code Online (Sandbox Code Playgroud)

但不是我想要的:

有可能一步到位吗?让我开心.

我的Python:

~$ python --version  
Python 2.6.6
Run Code Online (Sandbox Code Playgroud)

python python-2.6

6
推荐指数
1
解决办法
1735
查看次数

在Python中对字符串列表进行排序

可能重复:
如何在Python中对字符串列表进行排序?
如何在Python中按字母顺序对unicode字符串进行排序?

我有一个字符串列表,list并希望按字母顺序排序.当我调用list.sort()列表的第一部分包含以字母顺序排序的大写字母开头的条目时,第二部分包含以小写字母开头的排序条目.像这样:

Airplane
Boat
Car
Dog
apple
bicycle
cow
doctor
Run Code Online (Sandbox Code Playgroud)

我google了一个答案,但没有找到一个有效的算法.我读到的locale模块和sort参数cmpkey.通常会有这种lambda情况连续发生sort,这让我无法理解.

我怎样才能得到:

list = ['Dog', 'bicycle', 'cow', 'doctor', 'Car', 'Boat', 'apple', 'Airplane']
Run Code Online (Sandbox Code Playgroud)

至:

Airplane
apple
bicycle
Boat
Car
cow
doctor
Dog
Run Code Online (Sandbox Code Playgroud)

应考虑外语的特征(如ä,é,î).

python sorting string

3
推荐指数
1
解决办法
1万
查看次数

如何使用上下值按字母顺序对字符串列表进行排序?

我有以下代码:

v = ['zack', 'timor', 'Topher']
v.sort()
print(v)
Run Code Online (Sandbox Code Playgroud)

['托弗','帝汶','扎克']

我想得到的是:

['帝汶','托弗','扎克']

这是正确的字母顺序。

基本上它应该忽略小写字母和大写字母之间的区别。我不能只做 lower() 因为['timor','topher', 'zack']不是想要的输出。

简单来说,我希望它与此规则进行比较: a=A, b=B, ... 我该怎么做?

python

3
推荐指数
1
解决办法
62
查看次数

如何在一个语句中获得唯一的排序列表?

sort()的返回值为None,因此以下代码不起作用:

def sorted_unique_items(a):
   return list(set(a)).sort()
Run Code Online (Sandbox Code Playgroud)

想要更好的解决方案吗?

python

2
推荐指数
1
解决办法
327
查看次数

Python内部排序方法

有谁知道Python在list.sort()内部使用什么类型的排序?或者它至少保证O(n*log(n))?该文档不说太多.读完这个问题之后,我很想知道

python arrays sorting big-o

2
推荐指数
1
解决办法
959
查看次数