python - Python:接受列表和分隔符并返回字符串的函数
问题描述
我需要创建一个函数,该函数将列表和分隔符值作为参数,并返回由分隔符值分隔的列表的字符串表示形式。
我可以使用的唯一内置函数是range()
和str()
没有任何切片表达式、列表方法或字符串方法。
我已经整理了一些代码,但我知道它不正确,因为它在开头显示空格,在结尾显示分隔符(分隔符只需要在值之间)。
我怎样才能解决这个问题?
def my_string(my_list, sep=', '):
string = " "
for words in my_list:
string += words + ', '
return string
my_list = ["item1", "item2", "item3", "item4"]
list_string = my_string(my_list, sep=', ')
print (list_string)
解决方案
您可以在没有任何内置函数的情况下执行此操作:
def my_string(my_list, sep=', '):
result = ''
# Safety check
if not my_list:
return result
idx = 0
for word in my_list:
# Add the seperator before every item but the first one
result += (sep if idx else '') + word
idx += 1
return result
my_list = ["item1", "item2", "item3", "item4"]
list_string = my_string(my_list)
print (list_string) # >>> 'item1, item2, item3, item4'
几点:
- 正如RoadRunner 所说,你应该
sep
在函数内部使用过my_string
。 sep
如果是默认值则不需要通过- 就个人而言,我不喜欢以 开头的名字
my_
,它应该是有意义的。为什么不join_list
为函数l
甚至参数arr
?_list
推荐阅读
- json - scala - 如何将 JSON 字符串解析为单独的记录?
- android - Google Play Console App Analytics 极其乏善可陈?
- django - 如果用户忘记其用户名django如何处理
- c# - 具有多个按钮的 Unity ScrollView
- openssl - 使用 openssl 创建具有包属性的 TLS 私钥
- azure - 使用 Azure 逻辑应用将响应从 HTTP 保存到 Blob 存储
- ansible - 我可以在 ansible 模块中有多个参数值吗?
- spring-boot - 通过 Shared Redis 会话连接的两个 Spring 应用程序的 AuthenticationSuccessEvent Listener
- javascript - KeyboardEvent event.key 和 event.code 不同
- javascript - 在 mongoDB/Mongoose 上使用 find 和 aggregate 来获取数据