Python中str()函数和join()方法在字符串转换上有何区别?
a={"a":["www.feedworld.com.cn\n", "camel.neau.edu.cn\n", "directory.feedworld.com.cn\n", "www.hljyuquan.gov.cn\n", "feedworld.com.cn\n"]}
str(a['a']) 输出: ["www.feedworld.com.cn\n", "camel.neau.edu.cn\n", "directory.feedworld.com.cn\n", "www.hljyuquan.gov.cn\n", "feedworld.com.cn\n"]
''.join(a['a']) 输出:
都可以转成字符串为什么输出完全不同?
Python中str()函数和join()方法在字符串转换上有何区别?
a[‘a’] 是个列表, str 的时候,就是那么打印的
’’.join(a[‘a’]) …
算了我懒得吐槽了… 两个方法都不一样. 为什么你会认为输出一定要一样?
str()和join()虽然都能处理字符串,但完全是两个不同维度的东西。
str()是个类型转换函数,把任意对象转成它的字符串表示。比如str(123)得到"123",str([1,2])得到"[1,2]"。
join()是字符串对象的方法,专门用来拼接可迭代对象里的字符串元素。关键点:它要求所有元素都已经是字符串。
看个典型例子:
# str() 处理非字符串
nums = [1, 2, 3]
print(str(nums)) # 输出: "[1, 2, 3]" - 整个列表转成一个字符串
# join() 拼接字符串
words = ['a', 'b', 'c']
print(''.join(words)) # 输出: "abc" - 拼接列表里的字符串
# 常见错误
# print(''.join(nums)) # 报错!因为nums里是整数不是字符串
# 正确配合使用
print('-'.join(str(x) for x in nums)) # 输出: "1-2-3"
简单说:str()是“转字符串”,join()是“拼字符串”,经常配合着用。
不是一个东西,还有为什么用 a[‘a’]这种怪异的动作。
如果你把字符串当成一个对象,那 join 就是这个对象的一个方法,好像接收的参数是一个可迭代对象。
str 是不同的函数
str(a[‘a’]) 不懂对列表用 str 什么意思
先看书,再提问。
你这问题本身就不及格。

