python str 用法的疑问

wu5261092 2017-11-22 09:27:37
各位好,在自学Python随便敲代码玩的时候,下面这个问题有点不清楚其中的原理

代码如下
import random
ab=["a",1,"c",3,"e",5,"d"]
c=str(ab)
d=[str(i) for i in ab]
print(c)
print(d)
print("-".join(c))
print("-".join(d))

输出如下
['a', 1, 'c', 3, 'e', 5, 'd']
['a', '1', 'c', '3', 'e', '5', 'd']
[-'-a-'-,- -1-,- -'-c-'-,- -3-,- -'-e-'-,- -5-,- -'-d-'-]
a-1-c-3-e-5-d

疑问:为何使用join效果会是这样的呢?


...全文
149 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
extend 2017-11-23
c=str(ab)之后,c就不是列表了。虽然看上去形式和列表差不多。 >>> ab=["a",1,"c",3,"e",5,"d"] >>> c=str(ab) >>> type(c) <class 'str'> >>> c "['a', 1, 'c', 3, 'e', 5, 'd']" 双引号内的任何元素都是字符串序列的一部分。
  • 打赏
  • 举报
回复
碧水幽幽泉 2017-11-23
引用 1 楼 真糨糊的回复:
因为c是个字符串啊!这个字符串就是['a', 1, 'c', 3, 'e', 5, 'd'],所以使用了join后,就会在每个字符之间加上‘-’,而是个列表,所以使用了join后,只会把该列表里的每个元素之间加上‘-’后作为字符串输出
楼上正解!
  • 打赏
  • 举报
回复
真糨糊 2017-11-22
因为c是个字符串啊!这个字符串就是['a', 1, 'c', 3, 'e', 5, 'd'],所以使用了join后,就会在每个字符之间加上‘-’,而是个列表,所以使用了join后,只会把该列表里的每个元素之间加上‘-’后作为字符串输出
  • 打赏
  • 举报
回复
相关推荐
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2017-11-22 09:27
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: