我确实了解如何将字母放入以逗号分隔的列表中:
例如
a = 'hello'
print(list(a))
如何在下面实现这样的输出?
['h':0, 'e':1, 'l':2, 'l':3, 'o':4]
答案 0 :(得分:1)
由于您的输出既不是列表也不是字典,因此您必须自己使用enumerate
来格式化生成器表达式的输出:
from pprint import pformat
print('[%s]' % ', '.join('%s:%d' % (pformat(n), i) for i, n in enumerate(a)))
这将输出:
['h':0, 'e':1, 'l':2, 'l':3, 'o':4]
答案 1 :(得分:1)
outa = [(i,w) for w,i in enumerate(a)]
print(outa)
outa = dict() # gives you [("h",0),("e",1),("l",2),("l",3),("o",4)]
for w,i in enumerate(a):
outa[w] = i
print(outa) # gives you {0:"h",1:"e",2:"l",3:"l",4:"o"}
因为您像字典一样写它,所以我假设您希望它们以某种方式链接或词典不能具有双重键,因此我将其设为一个元组,但是,如果键成为索引和键,词典就可以工作重视这封信。
答案 2 :(得分:1)
使用enumerate
。
您的列表看起来像字典,会使操作起来更加困难。
即将关闭:
>>> a = 'hello'
>>> [f'{x}: {i}' for i, x in enumerate(a)]
['h: 0', 'e: 1', 'l: 2', 'l: 3', 'o: 4']
但是
组织列表的一种更好的方法是按照以下步骤创建元组列表:
>>> [(x, i) for i, x in enumerate(a)]
[('h', 0), ('e', 1), ('l', 2), ('l', 3), ('o', 4)]
现在,您可以轻松地对列表进行迭代并执行操作。