小编min*_*ion的帖子

Python排序 - 半忽略大小写(a,aa,A,AA,b,bb,B,BB ...)

如何对列表进行排序以达到:

['a', 'aa', 'aaa', 'A', 'AA', 'AAA', 'b', 'bb', 'bbb', 'B', 'BB', 'BBB']
Run Code Online (Sandbox Code Playgroud)

为方便起见,假设它的洗牌版本:

['bb', 'a', 'B', 'BB', 'AAA', 'BBB', 'b', 'aa', 'aaa', 'A', 'AA', 'bbb']
Run Code Online (Sandbox Code Playgroud)

我试图通过忽略大小写进行排序:

l = sorted(l, key=lambda x: x.lower())
Run Code Online (Sandbox Code Playgroud)

结果 ['a', 'A', 'aa', 'AA', 'aaa', 'AAA']


从下面的答案,混合情况有两种解决方案,我不确定哪种更好.

L = ['ABC1', 'abc1', 'ABC2', 'abc2', 'Abc']
l = sorted(L, key=lambda x: "".join([y.lower() + y.swapcase() for y in x]))
print(l)
l = sorted(L, key=lambda x: [(c.lower(), c.isupper()) for c in x])
print(l)
Run Code Online (Sandbox Code Playgroud)

python sorting

6
推荐指数
2
解决办法
692
查看次数

AutoHotkey:列出所有打开的窗口

WinGet, OutputVar, List可以获得所有未隐藏窗口的列表。它显示的内容比用户在 Windows 任务栏上看到的内容要多得多。

如何将窗口数量限制为任务栏上显示的数量。就像任务管理器中的简单列表一样。(较少细节模式)

autohotkey

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

是否允许使用辅助线程来执行QTextBrowser.insertHtml()?

我产生一个辅助线程来执行一些单调乏味的工作,目标传递QTextBrowser给它,并希望它由可输出运行时消息insertHtml()QTextBrowser.有时它可以工作,但最终会崩溃应用程序.

最初,我使用print(),并将stdout和sderr重定向到QTextBrowser.它运作良好.因为我需要富文本功能所以我放弃了这种方法.

这里这里或这里,我注意到它可能不合法.

在GUI应用程序中,主线程也称为GUI线程,因为它是唯一允许执行GUI相关操作的线程.

如上所述,每个程序在启动时都有一个线程.该线程称为"主线程"(在Qt应用程序中也称为"GUI线程").Qt GUI必须在此线程中运行.所有小部件和几个相关的类(例如QPixmap)在辅助线程中不起作用

我不确定.我需要有人来证实这一点.并且可以建议实施它的常规方法.

qt qt4 pyqt qt5

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

如何知道值所在的段

L = [('key1', 14), ('key2', 20), ('key3', 13), ('key4', 10), ('key5', 11)]
Run Code Online (Sandbox Code Playgroud)

假设我得到了list如上所述.每个元组的第二个元素在概念上表示块存储器的大小.这些块存储器是相邻的和顺序的.他们的关系可以表示为:

0 ____ 14 ____ 14 + 20 14 ____ + 20 + 13 14 ____ + 20 + 13 + 10 14 ____ + 20 + 13 + 10 + 11

现在用户将给我'绝对地址',我应该给他一个密钥来解密整个内存块.例如,如果他想访问地址'10',那么我应该为他返回key1.如果他想访问'15',那么我应该返回key2.

我的实现现在必须每次都从头开始搜索.实际上,有许多内存块,用户希望一直访问.表现不好.

L = [('key1', 14), ('key2', 20), ('key3', 13), ('key4', 10), ('key5', 11)]
def get_key(address):
    c = 0
    offset = 0
    for i in L:
        if address < i[1] + offset:
            break
        c …
Run Code Online (Sandbox Code Playgroud)

python

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

替换所有括号内的特定元素

所有特定字母,比如'A',都需要在所有括号中替换.

例如,

A. (AbbAAbb) .A. (bbAbbAbA) .A. (bbbbAbbbb)
Run Code Online (Sandbox Code Playgroud)

我想用''替换括号中的所有'A',最后像这样:

A. (bbbb) .A. (bbbbb) .A. (bbbbbbbb)
Run Code Online (Sandbox Code Playgroud)

任何可能只在正则表达式中执行此操作?

python regex

0
推荐指数
2
解决办法
247
查看次数

标签 统计

python ×3

autohotkey ×1

pyqt ×1

qt ×1

qt4 ×1

qt5 ×1

regex ×1

sorting ×1