此代码为我提供输出:The names found are: ['Alba', 'Dawson', 'Oliver']
我需要去掉括号和引号,并始终打印";以及";在最后一个名字之前(名字的数量可以是可变的,例如我可以有3,4,5,6个名字(,所以我需要这个输出:
The names found are: Alba, Dawson and Oliver
代码
name = "Alba, Dawson, Oliver"
names = name.split(', ')
print("The names found are: ", names)
我怎样才能做到这一点?
将列表拆分为各个名称后,可以根据列表的长度使用,
或and
重新加入列表:
name = "Alba, Dawson, Oliver"
names = name.split(', ')
print("The names found are: ", end = '')
if len(names) == 1:
print(names[0])
else:
print(', '.join(names[:len(names)-1]), 'and', names[-1])
输出:
The names found are: Alba, Dawson and Oliver
我明白了:您想用and
替换最后一个逗号('
(。这样就可以了。
splitted = [name.strip() for name in names.split(',')]
as_string = ', '.join(splitted[:-1]) + ' and ' + splitted[-1]
上一个答案
听起来你需要创建一个列表,而不是分配给单个变量,然后对列表进行索引,以获得作为变量的名称。
name = "Alba, Dawson, Oliver"
names = name.split(', ')
print(names[0])
print(names[1])
print(names[2])
# but you can do this instead:
for i in range(len(names)):
print(names[i])