मैं चयनित प्रारूप में एकाधिक सूचियों को संयोजित करने का प्रयास कर रहा हूं। बस, बनाने की कोशिश कर रहा है elapsed + "' " + player + ' (A: ' + assist + ') - ' + detail (उदाहरण के लिए: 51' H. Onyekuru (A: R. Babel) - Normal Goal)। मैंने जोंस फाइल भी जोड़ी, मैंने डेटा लिया। हो सकता है कि इसे सीधे सूचियां बनाए बिना बनाया जा सके।

कोड:

elapsed = []
player = []
assist = []
detail = []

for item in data['response']:
        player.append(item['player']['name'])

for item in data['response']:
        elapsed.append(item['time']['elapsed'])

for item in data['response']:
        assist.append(item['assist']['name'])

for item in data['response']:
        detail.append(item['detail'])

JSON फ़ाइल:

{
  "get": "fixtures/events",
  "parameters": { "fixture": "599120", "type": "goal" },
  "errors": [],
  "results": 3,
  "paging": { "current": 1, "total": 1 },
  "response": [
    {
      "time": { "elapsed": 51, "extra": null },
      "team": {
        "id": 645,
        "name": "Galatasaray",
        "logo": "https://media.api-sports.io/football/teams/645.png"
      },
      "player": { "id": 456, "name": "H. Onyekuru" },
      "assist": { "id": 19034, "name": "R. Babel" },
      "type": "Goal",
      "detail": "Normal Goal",
      "comments": null
    },
    {
      "time": { "elapsed": 79, "extra": null },
      "team": {
        "id": 645,
        "name": "Galatasaray",
        "logo": "https://media.api-sports.io/football/teams/645.png"
      },
      "player": { "id": 456, "name": "H. Onyekuru" },
      "assist": { "id": 142959, "name": "K. Akturkoglu" },
      "type": "Goal",
      "detail": "Normal Goal",
      "comments": null
    },
    {
      "time": { "elapsed": 90, "extra": 7 },
      "team": {
        "id": 3573,
        "name": "Gazi\u015fehir Gaziantep",
        "logo": "https://media.api-sports.io/football/teams/3573.png"
      },
      "player": { "id": 25921, "name": "A. Maxim" },
      "assist": { "id": null, "name": null },
      "type": "Goal",
      "detail": "Penalty",
      "comments": null
    }
  ]
}

आउटपुट:

['H. Onyekuru', 'H. Onyekuru', 'A. Maxim']
[51, 79, 90]
['R. Babel', 'K. Akturkoglu', None]
['Normal Goal', 'Normal Goal', 'Penalty']
0
niko 30 जिंदा 2021, 23:59

2 जवाब

सबसे बढ़िया उत्तर

निश्चित रूप से आप कर सकते हैं - केवल घटनाओं पर पुनरावृति करें और उन पंक्तियों का प्रिंट आउट लें (या यदि आप चाहें तो उन्हें एक सूची में इकट्ठा करें, उदाहरण के लिए)। नीचे दिए गए f-स्ट्रिंग सिंटैक्स के लिए Python 3.6 या नए की आवश्यकता है।

data = {
  # ... elided for brevity, see OP's post
}
for event in data["response"]:
  print(f"{event['time']['elapsed']}' {event['player']['name']} (A: {event['assist']['name']}) {event['detail']}")

यह प्रिंट आउट

51' H. Onyekuru (A: R. Babel) Normal Goal
79' H. Onyekuru (A: K. Akturkoglu) Normal Goal
90' A. Maxim (A: None) Penalty
1
AKX 31 जिंदा 2021, 00:07

यह आपके इच्छित प्रारूप में स्ट्रिंग्स की एक सूची बनाता है। एक बोनस के रूप में, अजगर पुनरावृत्तियों के लिए काफी अच्छा है इसलिए इसे एक पंक्ति में किया जा सकता है।

list_of_all = [f"{item['time']['elapsed']}' {item['player']['name']} ({item['assist']['name']}) {item['detail']}" for item in data['response']]
0
BobDotCom 31 जिंदा 2021, 00:07