【问题标题】:Convert multiple strings into an array将多个字符串转换为数组
【发布时间】:2023-03-07 13:51:01
【问题描述】:

我在一个 json 文件的 for 循环中从一个变量“单词”打印多个字符串,然后我得到这些名称。

with open('list.json', 'r') as i:
    names = json.load(i)

for a in names:
  words = (a['id']['name'])
  print words

'Vincent'
'Jackson'
'Marie'
'Mold'
'Gary'
'Sameul'

我想将所有这些名称放入一个数组中,并将其保存在变量 'words' 中。

words = ['Vincent','Jackson','Marie','Mold','Gary','Sameul']

【问题讨论】:

  • 初始化一个空的list并在每次迭代中追加a['id']['name']
  • 哇,真快,谢谢!

标签: python arrays json


【解决方案1】:

Python lists 非常灵活,可以保存完全异构的任意数据,并且可以在摊销的常数时间内非常有效地附加它们。如果您需要高效且轻松地缩小和增加列表,那么它们就是您的最佳选择。

您可以将它们存储到list

words = []
for a in names:
  words.append(a['id']['name'])

或者

您可以使用list comprehensions。这将完全替换您的 for 循环:

words = [a['id']['name'] for a in names]

我想将所有这些名称放入一个数组中,并将其保存在变量 'words' 中。

我假设您可以灵活地使用 Python 中的任何数据结构和数组,您只是指序列数据类型。但是,为了完整起见,我添加了一些有关数组的信息。

数组是存储相同数据类型值的数据结构。在 Python 中,这是数组和列表之间的主要区别。虽然python列表可以包含不同数据类型对应的值,但python中的数组只能包含相同数据类型对应的值。

【讨论】:

    【解决方案2】:
    with open('list.json', 'r') as i:
        names = json.load(i)
    
    for a in names:
      words = (a['id']['name'])
    
    wordList = []
    for word in words:
        wordList.append(word)
    

    【讨论】:

      【解决方案3】:

      如果您是 python 新手,您可能想查看 List 数据结构。这个List 可以保存任意数据,你可以在这个列表中append 元素。

      对于您的问题,在迭代您从json 文件中读取的names 之前,初始化一个列表。

      list_that_holds_names = []
      

      然后,在每次迭代期间,附加来自 names 的元素

      for a in names:
        words = (a['id']['name'])
        list_that_holds_names.append(words)
      

      现在这个list_that_holds_names 列表包含了所有的名字。如果您打印该列表,它将产生预期的输出。

      但是,请先在 Google 上做一些事情,或者先尝试向 Google 学习,然后再在此处发帖。

      【讨论】:

      • 是的,对不起,我确实尝试过 google 但我没有得到很多结果所以我来到这里,我不知道要 google 什么,谢谢~!
      猜你喜欢
      • 1970-01-01
      • 2020-06-06
      • 2019-08-04
      • 1970-01-01
      • 2014-08-28
      • 2019-02-13
      • 2012-11-17
      相关资源
      最近更新 更多