`我我我,又郁闷了,每次在本应该掌握的地方出问题,
我的问题:
代码:values = ', '.join(['% s'] * len(data))与 k = ', '.join('%s' * len(data))
第一个问题:
为什么要在'%s'外加个[ ]?在', '.['% s'] * len(data)的返回结果是['% s', '% s', '% s'],而 ', '.join('%s' * len(data)) 的返回结果是%, s, %, s, %, s.
你也跟我一样奇怪是吗?呵呵,我来告诉你,
区别分析
-
['%s'] * len(data)
:- 这个表达式生成的是一个列表,比如
['%s', '%s', '%s']
,然后通过', '.join(...)
把列表的每个元素连接起来,结果是字符串'%s, %s, %s'
。 - 优点:每个
'%s'
都是单独的元素,确保在连接时准确地加入分隔符,
。
- 这个表达式生成的是一个列表,比如
-
'%s' * len(data)
:- 这个表达式生成的是一个字符串,其中
'%s'
被简单地重复len(data)
次。例如,如果len(data) == 3
,则结果是'%s%s%s'
。 - 直接调用
', '.join('%s' * len(data))
会将这个字符串的每个字符当作一个单独的元素,结果会在每个字符之间插入,
,产生'% , s , % , s , % , s'
,并不是我们想要的。
- 这个表达式生成的是一个字符串,其中
果然chatgpt就是透彻.
第二个问题:
为什么最终的返回结果是个字符串?很简单,我最开始竟然不知道,或许是忘了吧,呵呵.
join函数可以把执行的操作返回成一个字符串.
感谢观看,不过如果你也是可初学者,一个建议就是运用好ai,它可以随时随地的回答和解决你的问题,只要你知道问题是什么.