将字符追加到空列表中



我对编程很陌生,很抱歉有一个基本问题。我正在尝试编写一个函数,该函数将使用一个字符串,其中单词被","分割,并返回这些单词的列表(Split方法(。我的代码是:

def str_to_list(my_shop_str):

my_shop_list = ['']
word_in_list = 0
for letter in my_shop_str:
if letter != ',':
my_shop_list[word_in_list] += letter
else:
word_in_list += 1
my_shop_list + ['']
return my_shop_list

print(str_to_list("Milk,Cottage,Tomatoes"))应该看起来像[Milk, Cottage, Tomatoes]

但我一直在服用IndexError: list index out of range.我在这里读了一些答案,找不到合适的答案。有人能解释出什么问题吗。

list具有方法append,因此解决方案如下所示:

def str_to_list(my_shop_str):
my_shop_list = ['']
word_in_list = 0
for letter in my_shop_str:
if letter != ',':
my_shop_list[word_in_list] += letter
else:
word_in_list += 1
my_shop_list.append('')
return my_shop_list

附言:不要忘记字符串中单词之间的空格,比如"aaa, bbb, ccc"将是带空格的['aaa', ' bbb', ' ccc']

def sp(s):
l =[]
while True:
comma = s.find(',')
if comma == -1:
l.append(s)
break
l.append(s[:comma])
s = s[comma+1:]
print(l)

这是一个简化的版本,希望能有所帮助。

最简单的方法:我们可以使用内置的拆分函数。

def Convert(string):
# split the string whenever "," occurs
# store the splitted parts in a list
li = list(string.split(","))
return li


# Driver code
str1 = "Hello,World"
print(Convert(str1))

输出:["你好","世界"]

最新更新