【问题标题】:Is there a way to convert a list variable into a non-list variable? [duplicate]有没有办法将列表变量转换为非列表变量? [复制]
【发布时间】:2017-12-21 01:13:29
【问题描述】:

具体来说,我一直在尝试编写代码,将变量 my_list 分配给不带任何空格或逗号的非列表变量。

my_list= [3, 4, 5, 9]  # Has to be integers  
my_var= ' '  
...

最后的预期结果:

my_var = 3459  

但是,问题是我可以完全相反,用字母代替:

variable = 'hello'  
mylist = [ ]  
for item in variable:  
    mylist.append(item)   
print(mylist)

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    所以你需要将你的列表转换成一个字符串。您可以为此使用join()

    my_var = ''.join(str(x) for x in my_list)
    

    来自docs

    返回一个字符串,它是可迭代字符串的串联。 如果有任何非字符串值,将引发 TypeError 可迭代的,包括字节对象。元素之间的分隔符是 提供此方法的字符串。


    或者使用map():

    my_var = ''.join(map(str, my_list))
    

    来自docs

    返回一个迭代器,它将函数应用于可迭代的每个项目, 产生结果。如果传递了额外的可迭代参数, 函数必须接受那么多参数并应用于项目 来自所有可迭代的并行。对于多个可迭代对象,迭代器 当最短的迭代用完时停止。


    同样,如果您希望 my_var 成为 int,只需执行 int(my_var)

    示例:

    >>> my_list= [3, 4, 5, 9]
    >>> my_var = ''.join(str(x) for x in my_list)
    >>> my_var
    '3459'
    >>> int(my_var)
    3459
    >>> my_var = ''.join(map(str, my_list))
    >>> my_var
    '3459'
    >>> int(my_var)
    3459
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 2018-10-23
      • 1970-01-01
      • 2020-12-13
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多