我想在字典中获取值并将其附加到列表中,但是我不知道如何删除方括号,因此它会在另一个[['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']]
中引起方括号。有什么方法可以用来消除这些括号?
word_dict = {'show': ['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']}
def main():
get_list = remove_word(word_dict)
print(get_list)
def remove_word(word_dict):
synonyms = word_dict.values()
new_list = []
for i in synonyms:
new_list.append(i)
return new_list
main()
答案 0 :(得分:2)
您要将值(列表)添加到新列表中,从而创建列表列表。
您需要使用extend
而不是append
来使列表变平坦
new_list = []
for i in synonyms:
new_list.extend(i)
答案 1 :(得分:1)
您可以像这样修改def
:
无需创建列表,因为dict.values
本身就是list
。
word_dict
中的值包含list
,而dict.values
本身给出list
。所以它给出了列表清单。
您可以使用索引0
def remove_word(word_dict):
synonyms = word_dict.values()
return list(synonyms)[0]
答案 2 :(得分:1)
word_dict = {'show': [['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']]}
def main():
get_list = remove_word(word_dict)
print(get_list)
def remove_word(word_dict):
for i in word_dict:
word_dict.update({i:[ j for k in word_dict[i] for j in k]})
return word_dict
main()
输出
{'show': ['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']}
答案 3 :(得分:1)
只需将值提取为列表即可,例如:
word_dict = {'show': ['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']}
def main():
get_list = remove_word(word_dict)
print(get_list)
def remove_word(word_dict):
# synonyms = word_dict.values()
return word_dict['show']
# new_list = []
# for i in synonyms:
# new_list.append(i)
# return new_list
main()
输出:
['display', 'exhibit', 'convey', 'communicate', 'manifest', 'disclose']
答案 4 :(得分:1)
尝试此操作将始终返回列表:
def remove_word(word_dict):
synonyms = word_dict.values()
new_list = []
for i in synonyms:
if isinstance(i,list):
new_list.extend(i)
else:
new_list.append(i)
return new_list
extend
和append
具有不同的两种工作行为
答案 5 :(得分:1)
您可以再添加一个for循环以将单词添加到列表中,而不是将列表添加到列表中
def remove_word(word_dict):
synonyms = word_dict.values()
new_list = []
for i in synonyms:
for word in i:
new_list.append(word)
return new_list