python List与String 转化问题
a = ['I', 0, 0, 0, 0, 0],注意此时0为整数
现在希望将a转化为string
使用如下语句:
str1 = ‘’
str1.join(a[0:])
print(str1)
发现运行出错,求指教!! 展开
1、list转换成string:join()。
例子:
a = ['w', 's','yi','ge','hao']
cc = ' '.join(a)
2、string转换成list:split()。
例子:
b= 'w s yi ge hao
dd = b.split(' ')
扩展资料:
a = ['I', 0, 0, 0, 0, 0],列表有int类型的数据,所以运行报错。
列表中必须都是字符串类型的数据。修改成:
a = ['I', '0', '0', '0', '0', '0']
split()方法:
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
语法:
str.split(str="", num=string.count(str))
参数:
str:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num:分割次数。默认为 -1, 即分隔所有。
join() 方法:
用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:
str.join(sequence)
参数:
sequence:要连接的元素序列。
string的jion()方法,里面使用的参数需要是所有元素都是string的list
而你的list a中后面的元素为整数,所以你用str1.join(a[0:])会出错
TypeError: sequence item 1: expected string, int found
所以你用join方法的话,里面的参数你需要保证所有元素都是string的list
这样改下就可以了
#coding=utf8
'''
Created on 2014-3-11
@author: NeoWu
'''
a = ['I', 0, 0, 0, 0, 0]
for i in range(0,a.__len__()):
a[i] = str(a[i])
print a
str1 = ""
str1 = str1.join(a)
print str1
运行结果为
['I', '0', '0', '0', '0', '0']
I00000
b= [] #空列表
for a_a in a:
b.append(str(a_a))
print b
b = ''.join(b)
print b
可得b = 'l0000'