如何在python中编写函数将列表中的元素拆分为字符串

如何在python中编写函数将列表中的元素拆分为字符串,python,list,function,Python,List,Function,如何创建将列表拆分为每个变量的函数 例如:如果每个列表都有“n”个元素 mylist = [var,var1,var2,var3] anotherlist = [var,var1,var2,var4,var5] -->结果 创建一个函数来拆分这些变量列表 split(mylist) --> x = var x1 = var1 x2 = var2 : xn = varn 我不太明白你的问题,但你是说: def print_var(variable_list): for i,

如何创建将列表拆分为每个变量的函数

例如:如果每个列表都有“n”个元素

mylist = [var,var1,var2,var3]
anotherlist = [var,var1,var2,var4,var5]
-->结果

创建一个函数来拆分这些变量列表

split(mylist) --> 
x = var
x1 = var1
x2 = var2
: 
xn = varn

我不太明白你的问题,但你是说:

def print_var(variable_list):
    for i, element in enumerate(variable_list):
        print 'x' + str(i) + ' = ' + element

mylist = ['var','var1','var2','var3']
anotherlist = ['var','var1','var2','var4','var5']
print_var(mylist)
print_var(anotherlist)
这是可能的,就像“可行的”——但它不太可能对任何事情都有用。如果列表的长度一开始就不知道,那么如果不知道代码中变量的可能值范围,那么使用名为“x”的变量会有多好

Python作为一种语言,其设计目的是让您拥有具有已知名称的变量——您遇到的任何动态数据都应该保存在动态数据结构中,比如字典,或者,因为在本例中,您拥有的唯一标识符是索引,列表本身

换句话说,你最好是:

mylist = [var,var1,var2,var3]
mylist[0]
mylist[1]
...
因为你可以检查mylist的长度,或者简单地 使用for语句在其元素上循环

也就是说,重要的是要记住Python确实具有assignemtn解包功能,所以如果 您的列表有一个已知长度,您只需执行以下操作:

mylist = [var1, var2, var3, var4]
x1, x2, x3, x4 = mylist

因为你的问题很模糊。我正在应用我从中了解到的,您希望将另一个列表中的变量分配给mylist中的名称。在这种情况下,你会想使用这样的字典

mydict = {}
for i in xrange(len(mylist)):
    mydict[mylist[i]] = anotherlist[i]

然后您可以自由地使用
mydict
,将
mylist
中的值作为键。

首先,在我看来,问题在于动态分配变量。第二,这是个坏主意。你应该改用字典。尽管如此,这里有一个你不应该做的例子,但它似乎回答了你的问题

In [196]: def assign_variables(mylist):
     ...:     for idx,item in enumerate(mylist):
     ...:         var='x'+str(idx)
     ...:         globals()[var]=item
     ...:         

In [197]: mylist=['var','var1','var2','var3']

In [198]: assign_variables(mylist)

In [199]: x1
Out[199]: 'var1'

In [200]: x2
Out[200]: 'var2'
使用dict,您可以尝试以下smth:

>>> def var_dict(mylist):
...     d={}
...     for idx,item in enumerate(mylist):
...         var='x'+str(idx)
...         d[var]=item
...     return d
... 
>>> mylist=['var','var1','var2','var3']
>>> mydict=var_dict(mylist)
>>> mydict
{'x0': 'var', 'x1': 'var1', 'x2': 'var2', 'x3': 'var3'}
>>> mydict['x1']
'var1'
>>> 

请澄清你想做什么?这对我来说没有意义…这个问题很模糊,请试着更清楚地描述你所说的“拆分”是什么意思。你真的想把每个列表值复制到单独的变量中吗??如果是,那你到底为什么要这么做??对我来说,编写一个函数来拆分列表是没有意义的……好吧,我从提取存储在数据库中的xml包中得到了“mylist”。我提取的每个记录的根()中都有“n”个元素。所以我需要把每个元素放在这个根(或记录)中,并存储到临时变量中,比如x(x,x1,x2,x3..等等),我的最终目标是存储这个x,x2,x3,x4。。xn连接到另一个数据库,使用pyodbc连接到另一个数据库哦。。为什么,答案是,我不知道我在做什么。我认为他根本不想使用
另一个列表
变量。谢谢root,你能给我一个建议我应该做什么或示例程序吗?这个节目是我自己编的。坦率地说,这是我的第一个python程序或有史以来的第一个程序。所以任何建议都会非常有用。