0

我正在测试一组 web api,使用 python,一种我仍在学习的语言。我正在输入一个字符串,一个经销商的名字,并在随机数量的字符后切断结尾。然后我在字符串的末尾添加一个字符(通配符)。然后将该修改后的字符串传递给搜索经销商名称的 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

4

1 回答 1

2

是的,使用切片从字符串中选择随机数量的字符,无需先将其拆分为列表:

rand = random.randint(6, len(split_name) - 1)
search_name = name[rand:] + '*'
rqst = requests.get(name_srch % (key, search_name))

字符串也是序列,支持直接切片,无需先将其转换为列表。您可以省略端点,在这种情况下切片默认为字符串的末尾。

于 2013-07-24T20:56:43.547 回答