Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python .join()函数返回int而不是str。出了什么问题?_Python_Join_Typeerror - Fatal编程技术网

Python .join()函数返回int而不是str。出了什么问题?

Python .join()函数返回int而不是str。出了什么问题?,python,join,typeerror,Python,Join,Typeerror,上述打印管理[索引]的输出正确,显示: index = 0 manage = {} filedata = open(custom_path,'r') for status in filedata: manage[index] = status print manage[index] index += 1 然后,我添加了一个新行: manage=str(u'\n',.join(manage)) 并得到以下错误: yes yes yes yes yes 将我的代码

上述打印管理[索引]的输出正确,显示:

index = 0
manage = {}
filedata = open(custom_path,'r')
for status in filedata:
    manage[index] = status
    print manage[index]
    index += 1
然后,我添加了一个新行: manage=str(u'\n',.join(manage))

并得到以下错误:

yes

yes

yes

yes

yes
将我的代码更改为:

TypeError: sequence item 0: expected string, int found
并得到以下输出(这是错误的):

我期待着:是的,是的,是的,是的


知道我哪里出错了吗?

您正在迭代字典中的键,而不是值

尝试更改此行:

0,1,2,3,4
为此:

values = ','.join(str(status) for status in manage)

这也是为什么会出现错误的原因,因为您尝试使用键。

您正在迭代字典中的键,而不是值

尝试更改此行:

0,1,2,3,4
为此:

values = ','.join(str(status) for status in manage)

这也是为什么会出现错误的原因,因为您尝试使用密钥。

这是因为管理是一个dict而不是列表,如中所定义

values = ','.join(val.rstrip("\n") for val in manage.values())

这是因为manage是一个dict而不是列表,如中所定义

values = ','.join(val.rstrip("\n") for val in manage.values())

manage
是一个具有整数键的字典。for循环迭代字典键。将其更改为:
,'.join(manage.values()中的line的line.strip())
manage
是一个具有整数键的字典。for循环迭代字典键。将其更改为:
,'.join(manage.values()中的line的line.strip())

您可能指的是第二个循环中的
manage.items()
。虽然未使用键,因此您可以使用
manage.values()
仅获取字典值。manage=','。join(str(val)表示状态,manage.values()中的val)返回以下错误:ValueError:要输入的值太多unpack@TingPing当你更改代码时出错,你得到了这个?请看一下其他答案。您的意思可能是第二个循环中的
manage.items()
。虽然未使用键,因此您可以使用
manage.values()
仅获取字典值。manage=','。join(str(val)表示状态,manage.values()中的val)返回以下错误:ValueError:要输入的值太多unpack@TingPing当你更改代码时出错,你得到了这个?再看看其他答案。