相关疑难解决方法(0)

在Python中没有[]的列表理解

加入清单:

>>> ''.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)也会产生一个列表或一个可迭代?

python list-comprehension

76
推荐指数
4
解决办法
1万
查看次数

从列表创建逗号分隔的字符串

我有一个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转换为字符串,将其插入到新列表中,然后在这个新列表上进行连接,但我想知道是否有更清晰的解决方案.

python string join list

6
推荐指数
1
解决办法
2万
查看次数

加入整数列表

我有一个应该表示二进制的整数列表:

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 对象不可下标”但是我不想访问整数。

有谁知道怎么回事?

python arrays list

3
推荐指数
1
解决办法
6662
查看次数

仅在python字典中加入值

我有一本字典.我只是想加入这些价值观.这是字典: -

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.

python dictionary

-3
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×4

list ×2

arrays ×1

dictionary ×1

join ×1

list-comprehension ×1

string ×1