Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
在Python3中,如何将字符串列表转换为单独的字符串?_Python_String_List_Python 3.x - Fatal编程技术网

在Python3中,如何将字符串列表转换为单独的字符串?

在Python3中,如何将字符串列表转换为单独的字符串?,python,string,list,python-3.x,Python,String,List,Python 3.x,我想知道您是否有字符串列表,例如: l = ['ACGAAAG', 'CAGAAGC', 'ACCTGTT'] 如何将其转换为: O = 'ACGAAAG' P = 'CAGAAGC' Q = 'ACCTGTT' 您可以在不知道列表中的项目数的情况下执行此操作吗?您必须将它们存储为变量。 (变量无关紧要。)欢迎使用SE 结构已知 如果您知道字符串的结构,则可以简单地将其解压缩: O, P, Q = my_list 结构未知 使用for循环打开列表。对循环中的每个字符串执行操作。对于以下内容

我想知道您是否有字符串列表,例如:

l = ['ACGAAAG', 'CAGAAGC', 'ACCTGTT']
如何将其转换为:

O = 'ACGAAAG'
P = 'CAGAAGC'
Q = 'ACCTGTT'
您可以在不知道列表中的项目数的情况下执行此操作吗?您必须将它们存储为变量。 (变量无关紧要。)

欢迎使用SE

结构已知 如果您知道字符串的结构,则可以简单地将其解压缩:

O, P, Q = my_list
结构未知 使用for循环打开列表。对循环中的每个字符串执行操作。对于以下内容,我仅打印每一个:

for element in l:
    print(element)
祝你好运

欢迎来到SE

结构已知 如果您知道字符串的结构,则可以简单地将其解压缩:

O, P, Q = my_list
结构未知 使用for循环打开列表。对循环中的每个字符串执行操作。对于以下内容,我仅打印每一个:

for element in l:
    print(element)

祝你好运

如果您事先不知道项目的数量,列表是保存项目的正确结构

不过,您可以先删除一些已知项,然后将未知项保留为列表:

a, b, *rest = ["ay", "bee", "see", "what", "remains"]
print("%r, %r, rest is %r" % (a, b, rest))

如果您事先不知道项目的数量,列表是保存项目的正确结构

不过,您可以先删除一些已知项,然后将未知项保留为列表:

a, b, *rest = ["ay", "bee", "see", "what", "remains"]
print("%r, %r, rest is %r" % (a, b, rest))
只要列表中的元素数等于要解包的变量数,它就可以工作。实际上,它可以用于任何iterable、tuple、list、set等

如果列表较长,则始终可以访问前3个元素(如果需要)

a = my_list[0] 
b = my_list[1]
c = my_list[2]
还是一行

a, b, c = my_list[0], my_list[1], my_list[2]
更好的是,使用切片表示法,您可以获得包含前3个元素的右侧子列表

a, b, c = my_list[:3]
只要列表的大小至少为3,或者变量的数量是您想要的,这些方法就可以工作

a = my_list[0] 
b = my_list[1]
c = my_list[2]
您还可以使用扩展的解包表示法

a, b, c, *the_rest = my_list
剩下的将是一个列表,列表中除前3个元素外的所有其他元素都在列表中,并且列表的大小必须为3或更多

这几乎涵盖了提取一定数量项目的所有方法

现在,根据您将如何处理这些,使用常规循环可能会更好

for item in my_list:
    #do something with the current item, like printing it
    print(item)
在每个迭代中,项将获取列表中一个元素的值,以便您在一次执行一项所需的操作


如果您希望在每次迭代中同时获取3个项目,那么有几种方法可以做到这一点

比如说

for i in range(3,len(my_list),3)
    a,b,c = my_list[i-3:i]
    print(a,b,c)
还有更多有趣的构造,比如

it = [iter(my_list)]*3
for a,b,c in zip(*it):
    print(a,b,c)
以及其他与itertools模块相关的功能

但是现在你说了一些有趣的事情“每个术语都分配给一个变量”这是错误的方法,你不想让一个未知数量的变量很快变得混乱,你要处理列表,如果你想处理每个元素,有很多方法可以做,比如列表理解

my_new_list = [ some_fun(x) for x in my_list ]
还是老一套

my_new_list = []
for x in my_list:
    my_new_list.append( some_fun(x) )
或者如果你需要同时处理更多的1个项目,那么将它与上面的一些项目结合起来

只要列表中的元素数等于要解包的变量数,它就可以工作。实际上,它可以用于任何iterable、tuple、list、set等

如果列表较长,则始终可以访问前3个元素(如果需要)

a = my_list[0] 
b = my_list[1]
c = my_list[2]
还是一行

a, b, c = my_list[0], my_list[1], my_list[2]
更好的是,使用切片表示法,您可以获得包含前3个元素的右侧子列表

a, b, c = my_list[:3]
只要列表的大小至少为3,或者变量的数量是您想要的,这些方法就可以工作

a = my_list[0] 
b = my_list[1]
c = my_list[2]
您还可以使用扩展的解包表示法

a, b, c, *the_rest = my_list
剩下的将是一个列表,列表中除前3个元素外的所有其他元素都在列表中,并且列表的大小必须为3或更多

这几乎涵盖了提取一定数量项目的所有方法

现在,根据您将如何处理这些,使用常规循环可能会更好

for item in my_list:
    #do something with the current item, like printing it
    print(item)
在每个迭代中,项将获取列表中一个元素的值,以便您在一次执行一项所需的操作


如果您希望在每次迭代中同时获取3个项目,那么有几种方法可以做到这一点

比如说

for i in range(3,len(my_list),3)
    a,b,c = my_list[i-3:i]
    print(a,b,c)
还有更多有趣的构造,比如

it = [iter(my_list)]*3
for a,b,c in zip(*it):
    print(a,b,c)
以及其他与itertools模块相关的功能

但是现在你说了一些有趣的事情“每个术语都分配给一个变量”这是错误的方法,你不想让一个未知数量的变量很快变得混乱,你要处理列表,如果你想处理每个元素,有很多方法可以做,比如列表理解

my_new_list = [ some_fun(x) for x in my_list ]
还是老一套

my_new_list = []
for x in my_list:
    my_new_list.append( some_fun(x) )

或者,如果您需要同时处理多个项目,请将其与上述部分结合起来,我不知道您的用例是否需要将字符串存储在不同的变量中。这通常是个坏主意

但是如果您确实需要它,那么可以使用
exec
builtin,它接受python语句的字符串表示并执行它

list_of_strings = ['ACGAAAG', 'CAGAAGC', 'ACCTGTT']
动态生成与excel工作表中的列名等效的变量名。(A,B,C…,Z,AA,AB…,AAA…)

variable_names=['A','B','C']
在这种特定情况下

for vn, st in zip(variable_names, list_of_strings):
        exec('{} = "{}"'.format(vn, st))

测试它,
print(A,B,C)
将输出这三个字符串,您可以在程序的其余部分使用
A,B和C
作为变量

我不知道您的用例是否要求将字符串存储在不同的变量中。这通常是个坏主意

但是如果您确实需要它,那么可以使用
exec
builtin,它接受python语句的字符串表示并执行它

list_of_strings = ['ACGAAAG', 'CAGAAGC', 'ACCTGTT']
动态生成与excel工作表中的列名等效的变量名。(A,B,C…,Z,AA,AB…,AAA…)

variable_names=['A','B','C']
在这种特定情况下

for vn, st in zip(variable_names, list_of_strings):
        exec('{} = "{}"'.format(vn, st))

测试它,
print(A,B,C)
将输出这三个字符串,您可以在程序的其余部分使用
A,B和C
作为变量