在Python中创建按字符分隔的列表

2024-06-27 02:41:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用其他字典中的数据列出前4个最大值,但是我得到的结果是将每个词分成单独的字符。完整代码为:

max_list = []    
MaxSimilarity = 0
for d in year:
    f = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if year[d] == c:
            if f > MaxSimilarity:
                MaxSimilarity = f
                max = d
max_list.append(max)

MaxSimilarity2 = 0            
for d in year:
    g = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max:
            if year[d] == c:
                if g > MaxSimilarity2:
                    MaxSimilarity2 = g
                    max2 = d
max_list.append(max2)

MaxSimilarity3 = 0            
for d in year:
    h = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max and d != max2:
            if year[d] == c:
                if h > MaxSimilarity3:
                    MaxSimilarity3 = h
                    max3 = d
max_list.append(max3)


MaxSimilarity4 = 0            
for d in year:
    i = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max and d != max2 and d != max3:
            if year[d] == c:
                if i > MaxSimilarity4:
                    MaxSimilarity4 = i
                    max4 = d
max_list.append(max4)
print max_list

我得到的结果是['3','0','0','T','r','a','n','s','f','o','r','m','e','r','s','s','p','I','d','e','r','r','-','m','a','n','3','3','0','0']

如何更改此代码以获得['300',变压器等]


Tags: andinforifyearmaxlistappend
1条回答
网友
1楼 · 发布于 2024-06-27 02:41:04

似乎函数FavActorFunction返回的是字符列表,而不是单词列表。你知道吗

如果您迭代一个字符串,而不是迭代一个列表的字符串,就会发生这种情况。例如,请注意将字符串转换为列表时发生的情况:

>>> print list("Hello, world")
print list("Hello, world")
['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']

由于您刚刚开始学习,请考虑以下建议:使用描述性变量名。像dchg这样的名称使您的代码几乎无法理解。使用像actordirector等变量。你不会因为简洁而赢得加分(除非你有一个糟糕的指导老师)。你知道吗

相关问题 更多 >