将以空格分隔的字符串转换为列表

98

我有一个像这样的字符串:

states = "Alaska Alabama Arkansas American Samoa Arizona California Colorado"

我想将它拆分成这样的列表

states = {Alaska, Alabama, Arkansas, American, Samoa, ....}

我是Python的新手。

请帮帮我,谢谢 :-))

编辑:我需要从一组州中进行随机选择,并将其作为变量。


2
你指的“像变量一样”是什么意思? - Jan Vorcak
23
你为什么想把“美属萨摩亚”拆分成两个元素? - JJJ
3
很高兴看到5个人在一分钟内完全相同地回答了这个问题。 - jlemaitre
1
离题了,但为了搜索的缘故:将列表的字符串表示转换为列表 - Skippy le Grand Gourou
5个回答

98

states.split()会返回

['Alaska',
 'Alabama',
 'Arkansas',
 'American',
 'Samoa',
 'Arizona',
 'California',
 'Colorado']
如果您需要从中随机选择一个,那么您必须使用 random 模块:
import random

states = "... ..."

random_state = random.choice(states.split())

4
我最喜欢的美国州是靠近萨摩亚的美属萨摩亚州。 - Mad Physicist

62

尝试

states.split()

它返回列表

['Alaska',
 'Alabama',
 'Arkansas',
 'American',
 'Samoa',
 'Arizona',
 'California',
 'Colorado']

这将返回列表的随机元素。

import random
random.choice(states.split())

split语句解析字符串并返回列表,默认情况下,它通过空格将其分成列表,如果指定了字符串,则通过该字符串进行分割,例如:

states.split('Ari')
返回
['Alaska Alabama Arkansas American Samoa ', 'zona California Colorado']

顺便提一下,在Python中,列表用[]括起来而不是{},{}括号用于字典。您可以在此处了解更多信息。

我看到您可能是新手,所以我会给你一些关于如何使用Python的优秀文档的建议。

几乎所有你需要的东西都可以在这里找到。 你也可以使用Python自带的文档,打开Python控制台并输入help()。 如果您不知道如何处理某个对象,我建议您安装iPython,在语句后按Tab键,这是一个非常好的工具,可帮助您与语言交互。

我写这些内容只是想告诉大家,Python是一个很棒的工具,因为它有很好的文档,了解这一点确实非常强大。


4
大括号也被用作集合字面值。 - Adrien Plisson

31
states = "Alaska Alabama Arkansas American Samoa Arizona California Colorado"
states_list = states.split (' ')

10
states_list = states.split(' ')

关于您的编辑:

from random import choice
random_state = choice(states_list)

8
使用字符串的 split() 方法。
states.split()

哦,那很容易。非常感谢 :-) - Hudec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接