Python:如何在长列表中添加单引号

时间:2018-09-05 01:50:48

标签: python string list quotes nameerror

我想知道在手动创建的Python列表中的每个元素中添加单引号的最快方法。

手动生成列表时,通常首先创建一个变量(例如my_list),将其分配给列表括号,然后使用单引号将元素填充到列表中:

my_list = []

my_list = [ '1','baz','ctrl','4' ]

但是,我想知道是否有一种更快的方法来创建列表。问题是,我通常会写完列表,然后进入列表中的每个元素并添加单引号。我认为这涉及太多的击键。

在Jupyter NB上,一种快速但无效的解决方案是突出显示列表元素,然后按键盘上的单引号。但是,如果您有要转换为字符串的单词列表,则此方法无效。 Python认为您正在调用变量(例如my_list = [1,baz,ctrl,4]),并引发NameError消息。在此示例中,列表元素baz将抛出:

NameError: name 'baz' is not defined

我在SO上尝试了此问题,但仅当您的列表已包含字符串Join a list of strings in python and wrap each string in quotation marks时,此方法才有效。这个问题还假设您仅使用数字:How to convert list into string with quotes in python

我目前不在从事特定项目。这个问题仅出于教育目的。谢谢大家的输入/快捷键。

4 个答案:

答案 0 :(得分:2)

是的,但是为什么不呢?

>>> s = 'a,b,cd,efg'
>>> s.split(',')
['a', 'b', 'cd', 'efg']
>>> 

然后将其复制然后粘贴到

或者来自@vash_the_stampede的想法:

>>> s = 'a b cd efg'
>>> s.split()
['a', 'b', 'cd', 'efg']
>>>

答案 1 :(得分:0)

您可以将输入作为字符串并将其拆分为列表 例如。

eg="This is python program"
print(eg)
eg=eg.split()
print(eg)

这将给出输出

  

这是python程序

     

['This','is','python','program']

希望这会有所帮助

答案 2 :(得分:0)

我发现的最好方法是:

>>> f = [10, 20, 30]

>>> new_f = [f'{str(i)}' for i in x]

>>> print(new_f)

['10', '20', '30']

答案 3 :(得分:0)

已经有一段时间了,但是我想我已经按照@ U10-Forward的想法找到了一种快速的方法:

>>> list = ('A B C D E F G Hola Hello').split()
>>> print(list)

['A', 'B', 'C', 'D', 'E', 'F', 'G', 'Hola', 'Hello']