我正在测试一组web apis,使用python,这是一种我仍在学习的语言。我正在接受一个字符串,一个经销商的名字,并在随机数字后切断结束。然后我添加一个字符(通配符)到字符串的结尾。然后将该修改后的字符串传递给api,该API搜索经销商的名称,并且可以包括通配符。我有下面的代码,但似乎很长。是否有更清洁的外观或更多的pythonic方式来解决这个问题?可能是一种方法,无需从字符串转换为列表,返回字符串?
split_name = list(name) #turns name string into list
rand = random.randint(6,(len(split_name)-1)) #generates random number
split_name[rand:len(split_name)] = [] #breaks of end part of name list
srch_name = ''.join(split_name) #stringifies list
#Send request
rqst = requests.get(name_srch %(key, (srch_name + '*'))) #this adds * and sends the request
在脚本中早先将名称定义为某些字符串,例如“Dave and Bills equipment sales and service,INC” 我应该注意到我使用的是python 2.7
答案 0 :(得分:2)
是的,使用切片从字符串中选择一个随机数字的字符,不需要先将其拆分成一个列表:
rand = random.randint(6, len(split_name) - 1)
search_name = name[rand:] + '*'
rqst = requests.get(name_srch % (key, search_name))
字符串也是序列,支持直接切片,无需先将其转换为列表。在这种情况下,您可以省略端点,将默认值切换到字符串的末尾。