如何在 python 3 中创建多维数组
How to create multidimensional array in python 3
在 PHP 我做了以下事情:
<?php
$array = array();
for($i=0;$i<5;$i++)
{
$array[$i]["id"] = $i;
$array[$i]["result"]["text"] = "id ".$i;
}
echo json_encode($array);
结果是:
[{"id":0,"result":{"text":"id 0"}},{"id":1,"result":{"text":"id 1"}},{"id":2,"result":{"text":"id 2"}},{"id":3,"result":{"text":"id 3"}},{"id":4,"result":{"text":"id 4"}}]
所以在 python 我该怎么做?
更新
感谢您帮助我,我的问题已经解决,当我更新到这里时,有 3 个答案,我发现所有 3 个答案都符合我的要求,我决定选择并这样做
array = []
for i in range(0,5):
array.append({"id":i,"result":{"text":f"id {i}"}})
#dict to json
import json
print(json.dumps(array))
因为对我来说,我觉得最简洁
这样的事情对你有用吗?
lyst = []
for i in range(5):
lyst += [{"id": i, "result":{"text": "id " + str(i)}}]
print(lyst)
输出:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
有两种方法:
1) 首先你可以:
枚举成range(5)
数组,然后将预定义数组arr
的索引i
分配给dictionary
,你会改变钥匙
arr = list(range(5))
for i,x in enumerate(range(5)):
arr[i] = {}
arr[i]["id"],arr[i]["result"]=i,{"text":f"id {i}"}
print(arr)
输出:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
2) 其次你可以:
使用 dict
和 list
推导式包装成一个表达式:
- 范围:
你可以使用 range(5)
is raccomended
arr = [{"id":i,"result":{"text":f"id {i}"}} for i in range(5)]
print(arr)
enumerate
您也可以使用 enumerate
代替(不是 RACCOMENDED)
arr = [{"id":i,"result":{"text":f"id {i}"}} for i,_ in enumerate(range(5))]
print(arr)
输出将是相同的:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
array = []
for i in range(0,5):
array.append({"id":i,"result":{"text":f"id {i}"}})
print(array)
#to json
import json
print(json.dumps(array))
输出
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
[{"id": 0, "result": {"text": "id 0"}}, {"id": 1, "result": {"text": "id 1"}}, {"id": 2, "result": {"text": "id 2"}}, {"id": 3, "result": {"text": "id 3"}}, {"id": 4, "result": {"text": "id 4"}}]
在 PHP 我做了以下事情:
<?php
$array = array();
for($i=0;$i<5;$i++)
{
$array[$i]["id"] = $i;
$array[$i]["result"]["text"] = "id ".$i;
}
echo json_encode($array);
结果是:
[{"id":0,"result":{"text":"id 0"}},{"id":1,"result":{"text":"id 1"}},{"id":2,"result":{"text":"id 2"}},{"id":3,"result":{"text":"id 3"}},{"id":4,"result":{"text":"id 4"}}]
所以在 python 我该怎么做?
更新
感谢您帮助我,我的问题已经解决,当我更新到这里时,有 3 个答案,我发现所有 3 个答案都符合我的要求,我决定选择并这样做
array = []
for i in range(0,5):
array.append({"id":i,"result":{"text":f"id {i}"}})
#dict to json
import json
print(json.dumps(array))
因为对我来说,我觉得最简洁
这样的事情对你有用吗?
lyst = []
for i in range(5):
lyst += [{"id": i, "result":{"text": "id " + str(i)}}]
print(lyst)
输出:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
有两种方法:
1) 首先你可以:
枚举成range(5)
数组,然后将预定义数组arr
的索引i
分配给dictionary
,你会改变钥匙
arr = list(range(5))
for i,x in enumerate(range(5)):
arr[i] = {}
arr[i]["id"],arr[i]["result"]=i,{"text":f"id {i}"}
print(arr)
输出:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
2) 其次你可以:
使用 dict
和 list
推导式包装成一个表达式:
- 范围:
你可以使用 range(5)
is raccomended
arr = [{"id":i,"result":{"text":f"id {i}"}} for i in range(5)]
print(arr)
enumerate
您也可以使用 enumerate
代替(不是 RACCOMENDED)
arr = [{"id":i,"result":{"text":f"id {i}"}} for i,_ in enumerate(range(5))]
print(arr)
输出将是相同的:
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
array = []
for i in range(0,5):
array.append({"id":i,"result":{"text":f"id {i}"}})
print(array)
#to json
import json
print(json.dumps(array))
输出
[{'id': 0, 'result': {'text': 'id 0'}}, {'id': 1, 'result': {'text': 'id 1'}}, {'id': 2, 'result': {'text': 'id 2'}}, {'id': 3, 'result': {'text': 'id 3'}}, {'id': 4, 'result': {'text': 'id 4'}}]
[{"id": 0, "result": {"text": "id 0"}}, {"id": 1, "result": {"text": "id 1"}}, {"id": 2, "result": {"text": "id 2"}}, {"id": 3, "result": {"text": "id 3"}}, {"id": 4, "result": {"text": "id 4"}}]