python - 如何通过输入将字符串单独转换为使用Python的数组?

Posted

技术标签:

【中文标题】python - 如何通过输入将字符串单独转换为使用Python的数组?【英文标题】:How to convert string separate by enter to array with Python? 【发布时间】:2021-06-07 05:28:14 【问题描述】:

我是 Python 新手。我想将字符串转换为数组。

我的字符串来自:

<Country>
     <number no="11" info="date">
          <detail name="a1" class="11a" />
               <string name="hello" />
               <string name="world" />
          </detail>
          <detail name="a2" class="1a2" />
               <string name="hello" />
               <string name="world" />
          </detail>
     </number>
<Country>

代码

XML = ET.parse(File)
for name in XML.findall('.//detail [@class="11a"]/'):
   detname = name.get('name')
   print(detname)

detname的输出是这样的:

hello
world

我希望它变成["hello","world"]

我试过这样:

arr = detname.split()
print(arr)

我正在尝试像这样打印字符串的类型&lt;class 'str'&gt; &lt;class 'str'&gt;

它返回这个:

['world']

不包括"hello"

【问题讨论】:

尝试在拆分前打印字符串 【参考方案1】:

更新:基于问题中的更新作为字符串的生成方式:

for name in XML.findall('.//detail [@class="11a"]/'):
   detname = name.get('name')
   print(detname)

detname 基本上在这里代表每次迭代中的各个名称,然后打印它们,以便在新行中获取每个名称。

如果您的要求是创建一个包含这些名称的列表,则创建一个列表对象并将各个名称附加到列表中:

names = []
for name in XML.findall('.//detail [@class="11a"]/'):
   detname = name.get('name')
   names.append(detname)

print(names)

此外,它可以在一行中完成,列表理解为:

names = [name.get() for name in XML.findall('.//detail [@class="11a"]/')]
print(names)

您的字符串由换行符分隔。

使用splitlines() 将它们拆分为列表:

string = "Hello\nWorld"
array = string.splitlines()
print(array)

【讨论】:

我试过了,但它仍然只返回 ['World'] @Krishna @Joe,你能添加完整的代码吗?看起来您将输入作为多行字符串,这可能无法按原样工作。 我更新了我如何得到字符串的问题。谢谢【参考方案2】:

如果文本像您在评论中写的那样由换行符分隔,您可以使用:

string = "Hello\nWorld"
arr = string .split('\n')
print(arr)

【讨论】:

我试过了,但它仍然只返回 ['World'] @Felix 字符串到底来自哪里,"Hello"\n"World" 无效?【参考方案3】:

试试这个:

string = "Hello\nWorld"
arr = string.splitlines()
print(arr)
for i in arr:
    print(type(i))

【讨论】:

以上是关于python - 如何通过输入将字符串单独转换为使用Python的数组?的主要内容,如果未能解决你的问题,请参考以下文章

C++——如何将一个字符串转换为多个整数?

使用 Python pandas 将具有逗号值的字符串转换为多层索引的单独行

Python——类与模块

如何将 Json Serializer 配置为在 web api 中为输入和输出参数提供单独的日期转换器?

将输入转换为字符串

定义python程序时如何将int格式转换为字符串格式[重复]