Python:用于创建由字符串组成的列表的有效语法

时间:2011-09-06 17:40:41

标签: python string list python-2.7

我是python的新手,并且本质上试图弄清楚复制此功能的语法:strings = ["foo", "bar", "apple"]strings = [foo, bar, apple]类似,这样我就不必在所有条目周围加上引号。谢谢!

6 个答案:

答案 0 :(得分:6)

strings = "foo bar apple".split()

答案 1 :(得分:2)

strings = r"foo, bar, apple".split(", ")

答案 2 :(得分:1)

您可以将所有字符串放在文本文件中,每行一个字符串。然后是strings = list(open("datafile", "r"))

答案 3 :(得分:1)

我想说创建一个字符串列表并不比你现在做的更简单。

正如其他答案所指出的那样,有很多方法可以将所有字符串放在一个大字符串或文件中,然后拆分它们,但在我看来,输入比引号更难,特别是如果你有一个像样的IDE自动关闭字符串引号。此外,您已经使用的语法是读取您的代码的任何其他人所期望的;使用其他东西只会增加不必要的混乱,几乎为零增益。

答案 4 :(得分:1)

您发布的内容有两个主要区别:

引号“”和“'表示它是一个字符串,就像[1,2,3]是一个整数列表一样。如果删除引号,则实际上是在创建python对象列表。 python对象基本上是所有python类的基础,例如整数和字符串是python对象是它们最基本的层次。

您可以执行以下操作:

foo = "foo"
bar = "bar"
apple = "apple"
strings = [foo,bar,apple]

答案 5 :(得分:0)

如果你有很多要编写的元素,你可以使用一个程序来做这件事(来自开发人员的这个令人难以置信的想法!),然后你复制粘贴结果:

li = []

ch = ("You have entered an empty string ''\n"
      'Type ENTER alone if you want to stop.\n'
      'Type anything if you want to record the empty string : ')

while True:
    e = raw_input('enter : ')
    if e=='':
        x = raw_input(ch)
        if x=='':  break
    li.append(e)

print
print li

示例:

enter : 123
enter : ocean
enter : flower
enter : 
You have entered an empty string ''
Type ENTER alone if you want to stop.
Type anything if you want to record the empty string : k
enter : once upon a time
enter : 14 * 4
enter : 
You have entered an empty string ''
Type ENTER alone if you want to stop.
Type anything if you want to record the empty string : 

['123', 'ocean', 'flower', '', 'once upon a time', '14 * 4']

您没有打字但只有副本是:

['123', 'ocean', 'flower', '', 'once upon a time', '14 * 4']