加入清单:
>>> ''.join([ str(_) for _ in xrange(10) ])
'0123456789'
Run Code Online (Sandbox Code Playgroud)
join 必须采取迭代.
显然,join这个论点是[ str(_) for _ in xrange(10) ],这是一个列表理解.
看这个:
>>>''.join( str(_) for _ in xrange(10) )
'0123456789'
Run Code Online (Sandbox Code Playgroud)
现在,join这个论点只是str(_) for _ in xrange(10),不[],但结果是一样的.
为什么?是否str(_) for _ in xrange(10)也会产生一个列表或一个可迭代?
我有一个int列表,想要创建一个逗号分隔的字符串.下列:
x = [3, 1, 4, 1, 5]
y = ",".join(x)
Run Code Online (Sandbox Code Playgroud)
给出错误:
TypeError: sequence item 0: expected string, int found
Run Code Online (Sandbox Code Playgroud)
如何创建字符串?我可以手动将每个元素从int转换为字符串,将其插入到新列表中,然后在这个新列表上进行连接,但我想知道是否有更清晰的解决方案.
我有一个应该表示二进制的整数列表:
x = [1, 0, 1, 1, 0, 0, 0, 0]
y = ''.join(x[:4])
Run Code Online (Sandbox Code Playgroud)
我似乎无法加入它,我得到“序列项 0:预期的 str 实例,找到了 int”
但是,如果我这样做
x = [str(1), str(0), str(1), str(1), str(0), str(0), str(0), str(0)]
y = ''.join(x[:4])
Run Code Online (Sandbox Code Playgroud)
我得到“类型错误 int 对象不可下标”但是我不想访问整数。
有谁知道怎么回事?
我有一本字典.我只是想加入这些价值观.这是字典: -
d = {'x': 1, 'y': 2, 'z': 3}
Run Code Online (Sandbox Code Playgroud)
我的预期输出是123 (它应该是123而没有任何排序)
我正在使用的代码: -
d = {'x': 1, 'y': 2, 'z': 3}
test = ' '.join(d.values())
print test
Run Code Online (Sandbox Code Playgroud)
它显示错误: -
Traceback (most recent call last):
File "test.py", line 2, in <module>
test = ' '.join(d.values())
TypeError: sequence item 0: expected string, int found
Run Code Online (Sandbox Code Playgroud)
我正在使用python 2.x.