我正在尝试将数据添加到names_list中,但得到的名称为list_list = list,但我不知道为什么names_list [i]成为字符串,我如何将其转换回list?
for data in f:
drawingdata = data.split()
names = drawingdata[0]
heights = drawingdata[1]
names_list = names.strip('][').split(',')
for i in range(len(new_name)):
names_list[i].append(new_name[i])
答案 0 :(得分:1)
我不知道为什么names_list [i]成为字符串,如何将其转换回列表?
names_list
是一个列表
names_list[i]
是列表的i_th元素(索引为0),这就是为什么它是字符串
您想要做的是names_list.append
,而不是names_list[i].append
(您想附加到整个列表,而不是附加到列表的元素)
此外,如果new_name
是单个名称,则整个循环是不必要的,因为您会将名称的每个字母附加为单独的条目!
只需names_list.append(new_name)
。
答案 1 :(得分:0)
我认为这是原因:
names_list[i]
返回一个字符串,因为drawingdata
是一个列表,每个值都是一个字符串,而names
是drawingdata
中的第一项,因此它是一个字符串。因此,names_list
将names
拆分为带有字符串的列表,因此names_list[i]
是一个字符串。
要回答有关将name_list[i]
转换为列表的问题,可以尝试[names_list[i]]
,它会为您提供一个仅包含names_list[i]
的列表。