python-3.x 获取数组的下一个元素

xwbd5t1u  于 2023-03-31  发布在  Python
关注(0)|答案(2)|浏览(134)

我有这样一个数组:

{"1":"https:\/\/proxy1...","2":"https:\/\/proxy2...","3":"https:\/\/proxy2...","7":"https:\/\/proxy2...", "10":"https:\/\/proxy2..."}

Е这里是一个包含元素id的变量。例如:randElem = 3
我需要得到一个数组的下一个元素。如果元素id连续为1,2,3,4,5,就没有问题。是这样的吗:

randElem = 3
data = json.load(open('proxies.json'))
count = len(data)

if randElem > count:
    print(data[str(1)])
elif randElem == count:
    print(data[str(randElem)])
else:
    randElem = randElem+1
    print(data[str(randElem)])

但是,如果数组像上面一样,它就不起作用了。而且如果randElem =数组中的最后一个元素。需要获取第一个元素
我该怎么做呢?

fgw7neuy

fgw7neuy1#

你可以先从字典中创建一个键的排序列表,然后用它来查找下一个键。

ids = sorted(map(int, data))
randElem = min(randElem, ids[-1])
idx = ids.index(randElem) # assuming the key exists
print(data[str(ids[(idx + 1) % len(ids)])])
qfe3c7zg

qfe3c7zg2#

迭代器方式:

it = iter(data)
randElem in it
print(next(it, next(iter(data))))

在线试用!

相关问题