【问题标题】:How can I copy this method of making an array in Python as I do with PHP?如何像使用 PHP 一样复制这种在 Python 中创建数组的方法?
【发布时间】:2019-05-01 14:42:23
【问题描述】:

我希望从 PHP 到 Python 重新创建以下内容:

<?php

$data["test step 1"]["sets"][] = "CV_1";
$data["test step 1"]["sets"][] = "NV_2";

我研究过在 Python 中使用 defaultdict 并尝试使用:

self.word_test_case["test step 1"]["sets"][] = heading

但是[] 在上面的示例中不起作用。我想我不太了解来自 PHP 世界的 Python 数据结构是如何工作的。这可以在 Python 中完成吗?在 PHP 中,我想在末尾使用 [],因为我不确定要添加多少元素。

【问题讨论】:

  • 我强烈建议您查看官方 python 文档。

标签: python arrays


【解决方案1】:

PHP 和 Python 在将项目附加到列表/数组的方式上存在一些差异。

你可以从定义开始

self.word_test_case["test step 1"]["sets"]

像这样的空数组:

self.word_test_case["test step 1"]["sets"] = []

完成后,您可以使用以下方法将项目附加到数组中:

self.word_test_case["test step 1"]["sets"].append('heading')

现在self.word_test_case["test step 1"]["sets"] 的值为['heading']

如果你这样做

self.word_test_case["test step 1"]["sets"].append('2nd one')

在第一次附加之后,它现在的值将是 ['heading','2nd one']

【讨论】:

    【解决方案2】:

    Python 有列表和字典。 Python 中的list 类似于数组。我认为 Python 中称为 dict 的东西在 PHP 中称为关联数组。

    如何使用列表:

    a_list = []  # same as: a_list = list()
    a_list.append('value')
    a_list.append('foobar')
    print(a_list)  # gives: ['value', 'foobar']
    

    如何使用字典:

    a_dict = {}  # same as: a_dict = dict()
    a_dict['key'] = 'value'
    a_dict['foo'] = 'bar'
    print(a_dict)  # gives: {'key': 'value', 'foo': 'bar'}
    

    详情请看docs.python.org

    我不确定你到底想要什么,但也许:

    word_test_case = {}
    word_test_case["test step 1"] = {}
    word_test_case["test step 1"]["sets"] = []
    

    现在word_test_case["test step 1"]["sets"] 的值是 Python list(一个数组)。与

    word_test_case["test step 1"]["sets"].append(value)
    

    您可以向该list 添加值。

    【讨论】:

    • 我明白这一点,但我怎样才能重现我在 PHP 中所做的事情?
    • 如果你理解的话,应该是微不足道的。如果你不这样做,你可以展示你做了什么。
    • 用你的最新更新,如果我这样做word_test_case["test step 1"]["sets"] = "heading2" 会覆盖第一个标题?
    • 我不知道你所说的“第一个标题”是什么意思。在我的示例中,没有任何内容被覆盖,只是插入。胸围只需使用交互式控制台和print(word_test_case) 即可查看。为键分配值始终是模式。
    • 如果有意义的话,我希望在 word_test_case["test step 1"]["sets"] 中存储一个字符串数组?
    猜你喜欢
    • 2014-12-17
    • 1970-01-01
    • 2011-12-14
    • 2015-01-13
    • 2013-12-27
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    相关资源
    最近更新 更多