小编Hum*_*mad的帖子

如何在没有循环的情况下将list转换为字符串,在Python中将join()转换为

我有一个排序列表的任务,如下所示:

Input:  "Sorting1234"
Output: "ginortS1324"
Run Code Online (Sandbox Code Playgroud)

不使用join()方法,用于同时在代码的任何地方.经过大量尝试以所需方式排序后,我成功了,但我无法将其打印为字符串

My Output is: ['g', 'i', 'n', 'o', 'r', 't', 'S', '1', '3', '2', '4']
Run Code Online (Sandbox Code Playgroud)

这是我用sorted()排序的算法:

st=input()
def iseven(x):
if x.isdigit():
    return int(x)+9 if int(x)%2==0 else int(x)
res=sorted(st, key=lambda x: (x.isdigit(), x.isupper(), iseven(x), ord(x) ))
print(res)
Run Code Online (Sandbox Code Playgroud)

请帮帮我

python sorting string list type-conversion

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

如何以及在何处正确使用 Python 的 __and__、__or__、__invert__ 魔术方法

我在谷歌上搜索这些方法的任何用例或示例,但找不到任何详细解释,它们只是与其他类似方法一起列出。实际上,我在 github 上查看了一些代码并遇到了这些方法,但无法理解用法。有人可以提供这些方法的详细解释。这是我遇到它们的 github 代码链接:https : //github.com/msiemens/tinydb/blob/master/tinydb/queries.py

python magic-methods

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

如何在保留最小字典顺序的同时删除重复字母

我有一项任务是从给定的字符串中删除重复项(经典面试问题),但这有点不同,最终结果应该是尽可能最小的字典顺序。例如,cbacdcbc => acdb, bcabc => abc。我在SO中看到了几个相关的问题,但我找不到答案。

编辑:这是我到目前为止的代码(无法正常工作):

public static String removeDuplicateCharsAlphbetically(String str) {
    int len = str.length();
    if (len<2) return str;

    char[] letters = str.toCharArray();
    int[] counts = new int[26];
    for (char c : letters) {
        counts[c-97]++;
    }

    StringBuilder sb = new StringBuilder();

    for (int i=0;i<len-1;i++) {
        if (letters[i]==letters[i+1]) continue;

        if (counts[letters[i]-97]==1) {
            sb.append(letters[i]);
        } else if (counts[letters[i]-97] != 0) {
            if (letters[i]<letters[i+1] && counts[letters[i]-97] == 1) {
                sb.append(letters[i]);
                counts[letters[i]-97]=0;
            } else {
                counts[letters[i]-97]--;
            } 
        }

    } …
Run Code Online (Sandbox Code Playgroud)

java string algorithm

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

如何在python中优化word_count

我给了n个单词(1≤n≤10^ 5).有些词可能重复.对于每个单词,我必须输出它出现的次数.但输出顺序应与单词首次出现的顺序一致.

我有一个问题的工作程序,但对于大输入我正在超时.这是我解决问题的方法:

n=int(input())
l=[]
ll=[]

for x in range(n):
    l.append(raw_input())
    if l[x] not in ll:
        ll.append(l[x])

result = [ l.count(ll[x]) for x in range(len(ll)) ]

for x in range(len(result)):
    print result[x],
Run Code Online (Sandbox Code Playgroud)

python optimization word-count

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