如何从json文件中随机选择?

2024-03-28 16:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个外部json文件中随机选择一个歌曲名和艺术家,使用他们的Id号:

[
 {
   "id": 1,
   "Song1": {
      "Song_nam": "killer queen"
   },
   "Song_artist": "queen"
},
 {
   "id": 2,
   "Song1": {
      "Song_nam": "Africa"
   },
   "Song_artist": "Toro"
},
 {
   "id": 3,
   "Song1": {
      "Song_nam": "Perfect"
   },
   "Song_artist": "Ed sheeran"
}
]

Tags: 文件idjsonsongartist艺术家killerqueen
2条回答

”歌曲.json“内容:

[
{
  "id": 1,
  "Song1": {
    "Song_nam": "killer queen"
  },
  "Song_artist": "queen"
},
{
  "id": 2,
  "Song1": {
    "Song_nam": "Africa"
  },
  "Song_artist": "Toro"
}, 
{
  "id": 3,
  "Song1": {
    "Song_nam": "Perfect"
  },
  "Song_artist": "Ed sheeran"
}
]

代码:

import json
from random import choice

with open("songs.json") as f:
    content = json.loads(f.read())

winner = choice(content)

print(json.dumps(winner, indent=4))

输出:

{
    "id": 2,
    "Song1": {
        "Song_nam": "Africa"
    },
    "Song_artist": "Toro"
}

使用random.choice()

import random

songs = [
 {
   "id": 1,
   "Song1": {
      "Song_nam": "killer queen"
   },
   "Song_artist": "queen"
},
 {
   "id": 2,
   "Song1": {
      "Song_nam": "Africa"
   },
   "Song_artist": "Toro"
},
 {
   "id": 3,
   "Song1": {
      "Song_nam": "Perfect"
   },
   "Song_artist": "Ed sheeran"
}
]

song = random.choice(songs)
print(f"Name: {song['Song1']['Song_nam']}, Artist: {song['Song_artist']}")

相关问题 更多 >