如何使用inex对元组列表进行分组

问题描述 投票:0回答:1

所以这是我的问题,原来的句子是s ='这真棒',如果我使用ASCII来翻译它,

s='this is awesome'
s1= s.split(' ')
q=[]
p=[]
for i in s1:
    for j,m in enumerate(i):
        m=ord(m)
        q.append(m)
        p.append(j)

    final =zip(p,q)
f=list(final)

然后我得到一个元组列表

[(0, 116),
 (1, 104),
 (2, 105),
 (3, 115),
 (0, 105),
 (1, 115),
 (0, 97),
 (1, 119),
 (2, 101),
 (3, 115),
 (4, 111),
 (5, 109),
 (6, 101)]

但是,我真正想看到的是

this ==> change to ==>[116,104,105,115]
is==>change to ==>[105,115]
awesome==> change to ==>[97,119,101,115,111,109,101]

但是我确实需要在这里建立索引,因为以后我将需要具有索引+ ASCII数字以使其成为新列表。有人可以帮忙吗?谢谢!

python python-3.x
1个回答
1
投票

使用字典理解

实施例

s='this is awesome'

data = {x:idx for idx,x in enumerate(s.split())}
output = {k:[ord(el) for idx, el in enumerate(k)] for k,v in data.items()}
print(output)

O / P:

{'this': [116, 104, 105, 115], 'is': [105, 115], 'awesome': [97, 119, 101, 

115, 111, 109, 101]}
© www.soinside.com 2019 - 2024. All rights reserved.