将存储在变量中的多个字符串转换为python中的单个列表

我希望每个人都做得很好。我需要一点帮助,我需要从变量中获取所有字符串并需要存储到 python 中的单个列表中。例如 - 我有 json 文件,我从那里获取 id,当我运行 print(id) 时,所有 id 都被存储到一个名为 id 的变量中,如下所示


17298626-991c-e490-bae6-47079c6e2202

17298496-19bd-2f89-7b5f-881921abc632

17298698-3e17-7a9b-b337-aacfd9483b1b

172986ac-d91d-c4ea-2e50-d53700480dd0

172986d0-18aa-6f51-9c62-6cb087ad31e5

172986f4-80f0-5c21-3aee-12f22a5f4322

17298712-a4ac-7b36-08e9-8512fa8322dd

17298747-8cc6-d9d0-8d05-50adf228c029

1729875c-050f-9a99-4850-bb0e6ad35fb0

1729875f-0d50-dc94-5515-b4891c40d81c

17298761-c26b-3ce5-e77e-db412c38a5b4

172987c8-2b5d-0d94-c365-e8407b0a8860

1729881a-e583-2b54-3a52-d092020d9c1d

1729881c-64a2-67cf-d561-6e5e38ed14cb

172987ec-7a20-7eb6-3ebe-a9fb621bb566

7298813-7ac4-258b-d6f9-aaf43f9147b1

17298813-f1ef-d28a-0817-5f3b86c3cf23

17298828-b62b-9ee6-248b-521b0663226e

17298825-7449-2fcb-378e-13671cb4688a

我希望将这些所有值存储到一个列表中。有人可以帮我解决这个问题吗?


下面是我正在使用的代码:


import json

with open('requests.json') as f:

    data = json.load(f)

print(type(data))

for i in data:

     if 'traceId' in i:

         id = i['traceId']

         newid = id.split()

         #print(type(newid))

         print(newid)

下面是我的 json 文件:


[

   {

      "id": "376287298-hjd8-jfjb-khkf-6479280283e9",

      "submittedTime": 1591692502558,

      "traceId": "17298626-991c-e490-bae6-47079c6e2202",

      "userName": "ABC",

      "onlyChanged": true,

      "description": "Not Required",

      "startTime": 1591694487929,

      "result": "NONE",

      "state": "EXECUTING",

      "paused": false,

      "application": {

         "id": "16b22a09-a840-f4d9-f42a-64fd73fece57",

         "name": "XYZ"

      },

      "applicationProcess": {

         "id": "dihihdosfj9279278yrie8ue",

         "name": "Deploy",

         "version": 12

      },

      "environment": {

         "id": "fkjdshkjdshglkjdshgldshldsh03r937837",

         "name": "DEV"

      },

      "snapshot": {

         "id": "djnglkfdglki98478yhgjh48yr844h",

         "name": "DEV_snapshot"

      },


   },



从我试图获取 traceId 的地方。


紫衣仙女
浏览 159回答 3
3回答

慕标琳琳

你可以使用像下面这样的简单split方法:ids = '''17298626-991c-e490-bae6-47079c6e2202 17298496-19bd-2f89-7b5f-881921abc632 17298698-3e17-7a9b-b337-aacfd9483b1b 172986ac-d91d-c4ea-2e50-d53700480dd0 172986d0-18aa-6f51-9c62-6cb087ad31e5 172986f4-80f0-5c21-3aee-12f22a5f4322 17298712-a4ac-7b36-08e9-8512fa8322dd 17298747-8cc6-d9d0-8d05-50adf228c029 1729875c-050f-9a99-4850-bb0e6ad35fb0 1729875f-0d50-dc94-5515-b4891c40d81c 17298761-c26b-3ce5-e77e-db412c38a5b4 172987c8-2b5d-0d94-c365-e8407b0a8860 1729881a-e583-2b54-3a52-d092020d9c1d 1729881c-64a2-67cf-d561-6e5e38ed14cb 172987ec-7a20-7eb6-3ebe-a9fb621bb566 17298813-7ac4-258b-d6f9-aaf43f9147b1 17298813-f1ef-d28a-0817-5f3b86c3cf23 17298828-b62b-9ee6-248b-521b0663226e 17298825-7449-2fcb-378e-13671cb4688a'''l = ids.split(" ")print(l)这将给出以下结果,我假设所需的分隔符是您可以适当调整的简单空间:['17298626-991c-e490-bae6-47079c6e2202', '17298496-19bd-2f89-7b5f-881921abc632', '17298698-3e17-7a9b-b337-aacfd9483b1b', '172986ac-d91d-c4ea-2e50-d53700480dd0', '172986d0-18aa-6f51-9c62-6cb087ad31e5', '172986f4-80f0-5c21-3aee-12f22a5f4322', '17298712-a4ac-7b36-08e9-8512fa8322dd', '17298747-8cc6-d9d0-8d05-50adf228c029', '1729875c-050f-9a99-4850-bb0e6ad35fb0', '1729875f-0d50-dc94-5515-b4891c40d81c', '17298761-c26b-3ce5-e77e-db412c38a5b4', '172987c8-2b5d-0d94-c365-e8407b0a8860', '1729881a-e583-2b54-3a52-d092020d9c1d', '1729881c-64a2-67cf-d561-6e5e38ed14cb', '172987ec-7a20-7eb6-3ebe-a9fb621bb566', '17298813-7ac4-258b-d6f9-aaf43f9147b1', '17298813-f1ef-d28a-0817-5f3b86c3cf23', '17298828-b62b-9ee6-248b-521b0663226e', '17298825-7449-2fcb-378e-13671cb4688a']编辑你得到列表的列表,因为每次迭代你只读 1 id,所以你需要做的是启动一个空列表并按以下方式将每个 id 附加到它:l = []for i in data    if 'traceId' in i:         id = i['traceId']         l.append(id)

慕妹3242003

我假设你得到的id是一个str类型值。使用id.split()将在一个 Python 列表中返回所有 id 的列表,因为在您的示例中每个 id 由空格分隔。id = """17298626-991c-e490-bae6-47079c6e2202 17298496-19bd-2f89-7b5f-881921abc632        17298698-3e17-7a9b-b337-aacfd9483b1b 172986ac-d91d-c4ea-2e50-d53700480dd0        172986d0-18aa-6f51-9c62-6cb087ad31e5 172986f4-80f0-5c21-3aee-12f22a5f4322        17298712-a4ac-7b36-08e9-8512fa8322dd 17298747-8cc6-d9d0-8d05-50adf228c029        1729875c-050f-9a99-4850-bb0e6ad35fb0 1729875f-0d50-dc94-5515-b4891c40d81c        17298761-c26b-3ce5-e77e-db412c38a5b4 172987c8-2b5d-0d94-c365-e8407b0a8860        1729881a-e583-2b54-3a52-d092020d9c1d 1729881c-64a2-67cf-d561-6e5e38ed14cb        172987ec-7a20-7eb6-3ebe-a9fb621bb566 17298813-7ac4-258b-d6f9-aaf43f9147b1        17298813-f1ef-d28a-0817-5f3b86c3cf23 17298828-b62b-9ee6-248b-521b0663226e        17298825-7449-2fcb-378e-13671cb4688a"""id_list = id.split()print(id_list)输出:['17298626-991c-e490-bae6-47079c6e2202', '17298496-19bd-2f89-7b5f-881921abc632','17298698-3e17-7a9b-b337-aacfd9483b1b', '172986ac-d91d-c4ea-2e50-d53700480dd0','172986d0-18aa-6f51-9c62-6cb087ad31e5', '172986f4-80f0-5c21-3aee-12f22a5f4322','17298712-a4ac-7b36-08e9-8512fa8322dd', '17298747-8cc6-d9d0-8d05-50adf228c029','1729875c-050f-9a99-4850-bb0e6ad35fb0', '1729875f-0d50-dc94-5515-b4891c40d81c','17298761-c26b-3ce5-e77e-db412c38a5b4', '172987c8-2b5d-0d94-c365-e8407b0a8860','1729881a-e583-2b54-3a52-d092020d9c1d', '1729881c-64a2-67cf-d561-6e5e38ed14cb','172987ec-7a20-7eb6-3ebe-a9fb621bb566', '17298813-7ac4-258b-d6f9-aaf43f9147b1','17298813-f1ef-d28a-0817-5f3b86c3cf23', '17298828-b62b-9ee6-248b-521b0663226e','17298825-7449-2fcb-378e-13671cb4688a']split()默认情况下以空格作为分隔符。如果需要,您可以使用sep参数来使用任何其他分隔符。

波斯汪

您可以将变量附加ids到列表中,例如,#list declarationl1=[]#this must be in your loopl1.append(ids)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python