小编sob*_*o35的帖子

Python 中的自定义排序顺序

我可以定义自己的排序顺序并仍然使用 Python 排序函数吗?例如,假设我想要的排序顺序是:

list1 = ['Stella', 'Bob', 'Joe', 'Betty']
Run Code Online (Sandbox Code Playgroud)

我希望做类似的事情:

list2 = ['Joe', 'Stella']
sorted(list2, key=list1)
Run Code Online (Sandbox Code Playgroud)

并得到:

['Stella', 'Joe']
Run Code Online (Sandbox Code Playgroud)

其中排序顺序保留在 中的自定义顺序内list1。我可以通过交换数值来分多个步骤来完成此操作,但我认为可能有一种方法可以与上面类似。

python sorting python-3.x

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

使用Python字典作为查找表来输出新值

如果有更好的方法的话,我不执着于使用字典作为查找表。我创建了一个简单的 Python 字典 (lkup),用作带有 df.letter 输入的查找表。我想将字典中的映射值输出到新列 df.newletter 中。下面的代码片段一直工作到最后一行中的实际分配。

我尝试过仅使用数字索引,使用键、值、dict.get() 和许多其他东西。我很接近吗?

import pandas as pd

df = pd.DataFrame()
df['letter'] = ['a', 'a', 'c', 'd', 'd']
lkup = {'a':'b', 'b':'c', 'c':'d', 'd':'e', 'e':'f'}

for key in lkup:
    for i in range(0,4):
        if df['letter'][i] in key:
            df['newletter'][i] = [insert_dictionary_value]
Run Code Online (Sandbox Code Playgroud)

我想在 df.newletter 列中查看映射的字典值。

lookup dictionary python-3.x

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

标签 统计

python-3.x ×2

dictionary ×1

lookup ×1

python ×1

sorting ×1