所以我有一个字符串列表。我想创建一个新的字符串列表,将相同的字符串变成一个新的字符串并将其命名为“A”。如果列表中有不同的字符串,将其命名为“B”,依此类推。 如果字符串是:
['F4','A3','F4','B5','A3','K2']
然后它应该给我一个结果:
['A','B','A','C','B','D']
代码不知道怎么下手,只能想到字典之类的东西。
dict = {}
result = []
for line in list1:
if line not in dict:
dict.update({line:str(chr(65+len(dict)))})
result.append(dict.get(line))
那我就不知道怎么继续了。任何帮助将不胜感激。
最佳答案
你可以创建一个ascii upper-case的迭代器字符串并在 defaultdict 中一次一个地拉下它们构造函数。你有那个,它只是一个列表理解。像这样的东西:
import string
from collections import defaultdict
keys = iter(string.ascii_uppercase)
d = defaultdict(lambda: next(keys))
l = ['F4','A3','F4','B5','A3','K2']
[d[k] for k in l]
# ['A', 'B', 'A', 'C', 'B', 'D']
关于python - 如何对字符串列表中的元素进行编号并返回一个新列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61092121/