我正在尝试在字符串中的最后一个单词之前插入'或'。
我希望它看起来像:
>>>test, test1, test2, or test3?
我尝试做什么以及我得到了什么:
i = input(', {}'.format('or ' if options[_][-1:] else '').join(options[_]) + '?')
>>>test, or test1, or test2, or test3?
我的代码:
def main():
options = {
'o1': ['1', '2', '3'],
'o2': ['one', 'two', 'three'],
'o3': ['uno', 'dos', 'tres']
}
values = []
i = ''
for _ in options.keys():
while i not in options[_]:
i = input(', '.join(options[_]) + '?')
values.append(i)
print(values)
main()
答案 0 :(得分:1)
这样怎么样:
def list_as_string(data):
return ", ".join(data[:-1]) + ", or " + data[-1]
a = ['2', 'one', 'tres']
list_as_string(a)
输出:
'2, one, or tres'
答案 1 :(得分:0)
options = {
'o1': ['1', '2', '3'],
'o2': ['one', 'two', 'three'],
'o3': ['uno', 'dos', 'tres']
}
for k,v in options.items():
v.insert(2, "or")
print(options)
options2 = {
'o1': ['1', '2', '3'],
'o2': ['one', 'two', 'three'],
'o3': ['uno', 'dos', 'tres']
}
for k,v in options2.items():
v[-1] = "or " + v[-1]
print(options2)
不确定哪一个你喜欢这样写两个,第一个添加"或"作为一个项目,第二个添加"或"字符串到最后一项。
答案 2 :(得分:0)
python string api的其他方式:
def main():
options = {
'o1': ['1', '2', '3'],
'o2': ['one', 'two', 'three'],
'o3': ['uno', 'dos', 'tres']
}
for _ in options.keys():
i = list((', '.join(options[_]) + '?').rpartition(","))
i[1] = " or"
j = ''.join(i)
print(j)
main()
OUT:
1, 2 or 3?
one, two or three?
uno, dos or tres?