gpt4 book ai didi

python - 我正在尝试用字符串分隔集合中的值

转载 作者:行者123 更新时间:2023-11-30 22:58:02 26 4
gpt4 key购买 nike

我试图在集合中的值之间插入字符串“**”。以及消除集合打印中的 {}。

预先感谢您提供的所有帮助/建议。

我的输出应该是这样的:

    SAMPLE OUTPUT
12**16**17**18**20**21**22**23**24**28**
Set has 7 even numbers and 3 odd numbers

我当前的代码是:

import random
def main():
random_set = set([])
while len(random_set) < 10:
random_set.add(random.randrange(10, 31))
print(random_set)
oddcount = 0
for x in random_set:
if x%2 ==1:
oddcount += 1
evencount = len(random_set) - oddcount
print('Set has', evencount, 'even numbers and', oddcount,'odd numbers'),
main()

我当前的输出是:

{10, 12, 14, 15, 18, 20, 25, 28, 29, 30}
Set has 7 even numbers and 3 odd numbers

最佳答案

您可以使用 str.join方法以创建可迭代字符串的字符串,并在项目之间指定分隔符:

In [58]: s = {10, 12, 14, 15, 18, 20, 25, 28, 29, 30}

In [59]: '**'.join(map(str, s))
Out[59]: '10**12**14**15**18**20**25**28**29**30'

请注意,str.join 接受可迭代的字符串,因此您必须使用 map(str, s) 将每个数字转换为字符串。

为了在字符串末尾添加 **,您可以使用 + 作为字符串连接运算符:

In [60]: '**'.join(map(str, s)) + '**'
Out[60]: '10**12**14**15**18**20**25**28**29**30**'

您还应该注意,set 元素的顺序未指定。为了按升序打印元素,您应该手动对它们进行排序:

In [61]: '**'.join(map(str, sorted(s))) + '**'
Out[61]: '10**12**14**15**18**20**25**28**29**30**'

关于python - 我正在尝试用字符串分隔集合中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36369314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com