加入列表以生成字典键的字符串

2024-09-28 03:18:18 发布

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

我有一个字符串列表。你知道吗

我试着把它分成两部分:

word_tag = line[:-1] + "/" + line[-1]

一个是从第一个到最后一个,另一个是最后一个,即标签。你知道吗

但是,它给了我以下错误:

这条线是:

line: ['#', 'DELM']

TypeError: can only concatenate list (not "str") to list

我想把它存储为一个键,有没有更好的方法来存储它,以便更好地检索标记部分?地址:

 if word_tag in emissionProbDict.keys():
        emissionProbDict[word_tag] = emissionProbDict[word_tag] + line.count(word_tag)
    else:
        emissionProbDict[word_tag] = line.count(word_tag)

Tags: 字符串only列表tagcount错误line标签
3条回答

您想要一个列表还是一个字符串作为输出?你知道吗

如果您想要列表:

word_tag = line[:-1] +["/"] + [line[-1]]

如果需要字符串:

word_tag=''.join(line[:-1]) + '/' + line[-1]

检查print( line[:-1] )print( line[-1] )
只有一个元素[ "#" ]和一个字符串"DELM"的列表,而不是列表。
不能用字符串连接列表。你知道吗

您可以append()列出字符串

line = ['#', 'DELM']

word_tag = line[:-1]     # list
word_tag.append("/")     # append element to list
word_tag.append(line[1]) # append element to list

或者必须将字符串转换为列表

word_tag = line[:-1] + [ "/" ] + [ line[1] ]

甚至

word_tag = line[:-1] + [ "/", line[1] ]

或者使用.extend()

word_tag = line[:-1]
word_tag.extend( [ "/", line[1] ] )

如果你需要它作为字符串,那么你可以做

word_tag = "".join( word_tag )

编辑:

您还可以在开始时将第一个列表[ "#" ]转换为字符串并连接字符串

word_tag = "".join( line[:-1] )  + "/" + line[1]

编辑:

如果您想在字典中使用list作为键,那么您不能这样做,因为键必须是不可变的,而list是可变的,但是您可以在字典中使用tuple作为键,因为tuple是不可变的。你知道吗

word_tag = tuple( line[:-1] + [ "/" ] + [ line[1] ] )

据我所知,您正在尝试将列表元素从first连接到last-1,然后连接到列表的/last元素。你知道吗

为此,您需要将元素从first连接到last-1,然后添加/last元素。你知道吗

试试这个。你知道吗

word_tag = ''.join(line[:-1])+'/'+line[-1]

''.join(line[:-1])将列表元素从first连接到last-1。你知道吗

相关问题 更多 >

    热门问题