python列表中的所有值转换为字符串,以及列表拼接成一个字符串

新手上路,请多包涵

列表内'test1', 'test2', 'test3'为字符串,但是22是数字,想将他们使用join拼成一个字符串,网上看到了一种方案,但是不太理解写法,求解释

l1 = ['test1', 'test2', 'test3', 22]
l2 = [str(i) for i in l1] 
#l2 代码字面意思可以理解,但是不太清楚这样的写法是否有依据,
这种写法我单独拿出来在for循环里是报错的。
l3 = '_'.join(l2)
print(l3)
阅读 3.2k
2 个回答

不太清楚你想要啥依据。【另外:Python官方文档看完了?】


列表解析

  根据已有列表,高效创建新列表的方式。

  列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。

语法:

  [expression for iter_val in iterable]

  [expression for iter_val in iterable if cond_expr]

新手上路,请多包涵
l1 = ['test1', 'test2', 'test3', 22]
l2 = [str(i) for i in l1]
l3 = '_'.join(l2)
print(l2)
print(l3)

l4 = []
for i in l1:
    l4.append(str(i))
print(l4)

join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
报错可能是因为你的写法有问题,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题