Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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:一次分配多个变量_Python_Variables - Fatal编程技术网

Python:一次分配多个变量

Python:一次分配多个变量,python,variables,Python,Variables,如果需要分配超过(比如)100个左右的值,我如何分配上述值 在这种情况下,您可以使用赋值,python方法是使用字典。如果doc是字典,您可以循环其值,并使用enumerate创建字典: a,b,c,d,e,f,g,h,i,j = ''.join(doc[a1]),''.join(doc[a2]),''.join(doc[a3]),''.join(doc[a4]),''.join(doc[a5]),''.join(doc[a6]),''.join(doc[a7]),''.join(doc[a8]

如果需要分配超过(比如)100个左右的值,我如何分配上述值

在这种情况下,您可以使用赋值,python方法是使用字典。如果
doc
是字典,您可以循环其值,并使用
enumerate
创建字典:

a,b,c,d,e,f,g,h,i,j = ''.join(doc[a1]),''.join(doc[a2]),''.join(doc[a3]),''.join(doc[a4]),''.join(doc[a5]),''.join(doc[a6]),''.join(doc[a7]),''.join(doc[a8]),''.join(doc[a9]),''.join(doc[a10])
如果
doc
不是字典,而是另一种类型的iterable对象,那么您只需在其自身上循环即可

你也可以在听写理解中完成:

d={}
for i,j in enumerate(doc.values()):
  d['a{}'.format(i)]=''.join(j)
然后,您可以通过索引访问变量:

d={'a{}'.format(i):''.join(j) for i,j in enumerate(doc.values())}

你的代码有点混乱。更明确的做法是:

print d['a1'] # or d['an'] 
您使用的语法通常用于以下实例:

a = ''.join(doc[a1])
b = ''.join(doc[a2])
c = ''.join(doc[a3])
d = ''.join(doc[a4])
e = ''.join(doc[a5])
f = ''.join(doc[a6])
g = ''.join(doc[a7])
h = ''.join(doc[a8])
i = ''.join(doc[a9])
j = ''.join(doc[a10])
您想要的内容听起来像是可以由数组处理的,但您必须将a1、a2、…、a10转换为数组

假设a1、a2、…、a10位于名为
a
的数组中,您可以通过执行以下操作将所需内容放入名为b的数组中:

str_ = "a,b"
a, b = str_.split(",")
# a = "a", b = "b"

这是一种很难理解的方法。另外,您正在尝试手动执行一些您应该尝试以编程方式执行的操作。循环和列表是您的朋友。你不想跟踪那么多的变量。相反,跟踪列表中的项目更方便。你最好有这样的服务:

b = [''.join(doc(a_part)) for a_part in a]
可以更简洁地写为

new_list = []
for key in doc:
    new_list.append(''.join(doc[key]))
或者,如果doc是一个列表:

new_list = [''.join(doc[key]) for key in doc]

请不要做任何你想做的事。你能展示你试图解决的实际问题吗?我向你保证,一个列表可能是你想要的,而不是100个独立命名的变量。如果必须读取,那将非常糟糕。@CoryKramer假设我有一个包含100行字符串的csv文件。我想做的是随机选择其中的50个并将其分配给50个变量。@KevinOelen我再次问,为什么50个变量而不是一个包含50个元素的列表?我想你忘记了enumerate(doc.values())中I,j后面的冒号。
new_list = [''.join(item) for item in doc]