Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过索引从列表到集合的项目_Python_List_Python 3.x - Fatal编程技术网

Python 通过索引从列表到集合的项目

Python 通过索引从列表到集合的项目,python,list,python-3.x,Python,List,Python 3.x,给出一份清单 a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache'] 我正在尝试为每一个六个单词的短语制作一个新的集合 a_set=(['chicken','pizza','burger','beer','vodka','potato'],['pizza','burger','beer','vodka','potato','fries],['burger','beer','vodka','po

给出一份清单

a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache']
我正在尝试为每一个六个单词的短语制作一个新的集合

a_set=(['chicken','pizza','burger','beer','vodka','potato'],['pizza','burger','beer','vodka','potato','fries],['burger','beer','vodka','potato','fries','mustache'])
我正试图通过索引来做到这一点

index1=0
index2=6
a_set=[]
while True:
    a_set.append(a_list[index1:index2])
    index1+=1
    index2+=1
print (a_set)
我似乎不知道我做错了什么。还有,一旦循环完成并创建了所有的六个单词短语,并到达列表的末尾,我将如何结束循环,这样循环就不会从头开始,然后再重复一遍?谢谢您的帮助。

您正在寻找一个:

其中:

>>> list(window(a_list, 6)) 
[('chicken', 'pizza', 'burger', 'beer', 'vodka', 'potato'), ('pizza', 'burger', 'beer', 'vodka', 'potato', 'fries'), ('burger', 'beer', 'vodka', 'potato', 'fries', 'mustache')]
您不是在这里创建,您需要小心使用术语

具体来说,当第二个索引到达列表的末尾时,您不会进行测试:

a_windows = []
index1 = 0
index2 = 6

while index2 <= len(a_list):
    a_windows.append(a_list[index1:index2])
    index1 += 1
    index2 += 1
您正在寻找一个:

其中:

>>> list(window(a_list, 6)) 
[('chicken', 'pizza', 'burger', 'beer', 'vodka', 'potato'), ('pizza', 'burger', 'beer', 'vodka', 'potato', 'fries'), ('burger', 'beer', 'vodka', 'potato', 'fries', 'mustache')]
您不是在这里创建,您需要小心使用术语

具体来说,当第二个索引到达列表的末尾时,您不会进行测试:

a_windows = []
index1 = 0
index2 = 6

while index2 <= len(a_list):
    a_windows.append(a_list[index1:index2])
    index1 += 1
    index2 += 1

也许这会有帮助

def get_set(li, phrase_len):
    l = len(li)
    for i in range(l):
        if phrase_len <= l-i:
            yield(li[i:i+phrase_len])

a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache']
print list(get_set(a_list, 6))
def get_set(li,短语len):
l=len(li)
对于范围(l)中的i:

如果这个短语有帮助的话

def get_set(li, phrase_len):
    l = len(li)
    for i in range(l):
        if phrase_len <= l-i:
            yield(li[i:i+phrase_len])

a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache']
print list(get_set(a_list, 6))
def get_set(li,短语len):
l=len(li)
对于范围(l)中的i:

如果我没听错,你想要列表中六项的所有可能组合<代码>itertools.compositions
应该可以让这变得非常简单:

>>> import itertools
>>> a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache']
>>> a_set=set(itertools.combinations(a_list, 6))
>>> pprint(a_set)
{('burger', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'potato', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'vodka', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'vodka', 'potato', 'fries'),
 ('chicken', 'burger', 'beer', 'vodka', 'potato', 'mustache'),
 ('chicken', 'burger', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'vodka', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'vodka', 'potato', 'fries'),
 ('chicken', 'pizza', 'beer', 'vodka', 'potato', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'potato', 'fries'),
 ('chicken', 'pizza', 'burger', 'beer', 'potato', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'fries'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'potato'),
 ('chicken', 'pizza', 'burger', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'vodka', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'vodka', 'potato', 'fries'),
 ('chicken', 'pizza', 'burger', 'vodka', 'potato', 'mustache'),
 ('chicken', 'pizza', 'vodka', 'potato', 'fries', 'mustache'),
 ('pizza', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'potato', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'vodka', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'vodka', 'potato', 'fries'),
 ('pizza', 'burger', 'beer', 'vodka', 'potato', 'mustache'),
 ('pizza', 'burger', 'vodka', 'potato', 'fries', 'mustache')}

如果我没弄错的话,你想要清单上六个项目的所有可能组合<代码>itertools.compositions
应该可以让这变得非常简单:

>>> import itertools
>>> a_list=['chicken','pizza','burger','beer','vodka','potato','fries','mustache']
>>> a_set=set(itertools.combinations(a_list, 6))
>>> pprint(a_set)
{('burger', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'potato', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'vodka', 'fries', 'mustache'),
 ('chicken', 'burger', 'beer', 'vodka', 'potato', 'fries'),
 ('chicken', 'burger', 'beer', 'vodka', 'potato', 'mustache'),
 ('chicken', 'burger', 'vodka', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'vodka', 'fries', 'mustache'),
 ('chicken', 'pizza', 'beer', 'vodka', 'potato', 'fries'),
 ('chicken', 'pizza', 'beer', 'vodka', 'potato', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'potato', 'fries'),
 ('chicken', 'pizza', 'burger', 'beer', 'potato', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'fries'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'mustache'),
 ('chicken', 'pizza', 'burger', 'beer', 'vodka', 'potato'),
 ('chicken', 'pizza', 'burger', 'potato', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'vodka', 'fries', 'mustache'),
 ('chicken', 'pizza', 'burger', 'vodka', 'potato', 'fries'),
 ('chicken', 'pizza', 'burger', 'vodka', 'potato', 'mustache'),
 ('chicken', 'pizza', 'vodka', 'potato', 'fries', 'mustache'),
 ('pizza', 'beer', 'vodka', 'potato', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'potato', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'vodka', 'fries', 'mustache'),
 ('pizza', 'burger', 'beer', 'vodka', 'potato', 'fries'),
 ('pizza', 'burger', 'beer', 'vodka', 'potato', 'mustache'),
 ('pizza', 'burger', 'vodka', 'potato', 'fries', 'mustache')}

我没有看到任何布景。我只在你的例子中看到列表。你确定你没有对这个问题感到困惑吗?您将
a_集
设置为
列表
。我没有看到任何集。我只在你的例子中看到列表。你确定你没有对这个问题感到困惑吗?您将
a_set
设置为
列表