django 用Python转换对象数组和简单数组

0sgqnhkj  于 2023-06-25  发布在  Go
关注(0)|答案(2)|浏览(135)

我想寻求帮助如何将这个arry结果转换为类型array=['a','b','c',...的简单数组。'aaa','aab'...],我希望能够调用数组中的元素,这些元素的索引仅为ex:数组1 ='a'; arry[2]='b'等等为了帮助你理解我想要的,在我这里分享的py文件中看到结果,尝试在你的机器上运行它,看看它给出的结果。

from string import ascii_lowercase
import itertools

def iter_all_strings():
    for size in itertools.count(1):
        for s in itertools.product(ascii_lowercase, repeat=size):
            yield "".join(s)
lista=[]
for s in itertools.islice(iter_all_strings(), 1000):
    lista.append(s)
    print (lista[-1:1000])

a11xaf1n

a11xaf1n1#

你的代码解决了你的问题,lista是一个字符串数组,索引访问对字符串数组起作用。例如,访问lista[2]会产生c,并且它可以工作。

q5iwbnjs

q5iwbnjs2#

首先,你是在for循环中打印,所以它会在终端中分别呈现每个元素。

for s in itertools.islice(iter_all_strings(), 1000):
    lista.append(s)
    print (lista[-1:1000])

第二,你正在对数组进行切片,array[-1]索引对应于数组的最后一个元素。所以,即使你移动到for循环之外,它也只会返回['all']
因此,只需将打印移出循环范围并删除切片。

...
for s in itertools.islice(iter_all_strings(), 1000):
    lista.append(s)
    
print (lista)

它返回所需的结果。然后,您可以使用索引查找元素。注意索引从0开始而不是1!

# returns 'a'
print(lista[0])

# returns 'b'
print(lista[1])

# Returns 'all' (the last element)
print(lista[-1])

相关问题