如何用另一个列表的元素填充新列表

时间:2019-06-03 12:10:54

标签: python list

我想填写一个空白列表,我不知道如何准确地告诉您我想做的事情,我想您可以理解我是否提供一些代码。

所以我有这个列表,这基本上是一个整数列表。

sIDs = list(opl.keys())

我想创建一个新列表并像这样填写它。

region = form.cleaned_data["region"]
for x in sIDs:

   sid = x
   url = "https://" + region + ".api.riotgames.com/lol/summoner/v4/summoners/" + sid + "?api_key=" + api_key
response = requests.get(url).json()
pid = response["profileIconId"]
newlist[i] = pid

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您应该只可以使用newlist = []初始化列表,然后使用newlist.append(pid)

如果您事先知道需要在newlist中存储多少个元素,请改用newlist = [0] * n(其中n是要存储的元素数)。然后,您可以在循环中使用newlist[i]来调用列表。

答案 1 :(得分:1)

您首先需要写一行代码来创建newlist列表,如下所示: newlist = [],这将为您提供空白列表

然后,您希望用在原始列表中创建的每个项目填充新列表,以便可以将代码编辑为以下内容:

sid = list(opl.keys())
# Declaring a blank new list
newlist = []
region = form.cleaned_data["region"]
for x in sid:
# Fix an issue where you were constructing a url with the sid array and not the element x
    url = "https://" + region + ".api.riotgames.com/lol/summoner/v4/summoners/" + x + "?api_key=" + api_key
    # Move these inside so they are created for every item inside of the sid list
    response = requests.get(url).json()
    pid = response["profileIconId"]
    # add that pid to your new list
    newlist.append(pid)

其中有一些解释。