Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 - Fatal编程技术网

Python 在两个列表之间迭代

Python 在两个列表之间迭代,python,Python,我有两个列表:其中一个是列表列表。具体如下:- lists_of_lists = ['1', '4', '7', '13', '16', '21', '32', '36'],['3', '6', '8', '14', '22', '26', '31', '40'] just_a_list =['THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG', 'IWOULDLOVETOGETOVERWITHTHISASSOONASPOSSIBLE'] 列表中的列表用于对列表中的元

我有两个列表:其中一个是列表列表。具体如下:-

lists_of_lists = ['1', '4', '7', '13', '16', '21', '32', '36'],['3', '6', '8', '14', '22', '26', '31', '40']

just_a_list =['THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG', 'IWOULDLOVETOGETOVERWITHTHISASSOONASPOSSIBLE']
列表中的列表用于对列表中的元素进行切片,以便:
['1','4','7','13','16','21','32','36']
将对字符串进行切片
'QuickBrownFox JumpedOvertheLazyDog'
,如下所示

'1' - '4' - 'HEQU'
'7' - '13' - 'KBROWNF'
'16' - '21' - 'JUMPED'
'32' - '36' - 'ZYDOG'
注意事项-

列表中的每个列表都有偶数个数字

在列表的
list\u中的
i'th
位置的列表将属于 字符串出现在
列表中的
i'th
位置

请帮助我了解如何执行上述流程

谢谢

使用
zip()
组合字符串和切片列表,然后使用
zip()
plus
iter()
技巧配对开始和停止值:

for slicelist, text in zip(lists_of_lists, just_a_list):
    for start, stop in zip(*([iter(slicelist)]*2)):
        print(text[int(start):int(stop) + 1])
请注意,我们必须在停止索引中添加1,因为您似乎需要它是包含的,而在Python中,停止索引是独占的

这使得:

>>> for slicelist, text in zip(lists_of_lists, just_a_list):
...     for start, stop in zip(*([iter(slicelist)]*2)):
...         print(text[int(start):int(stop) + 1])
... 
HEQU
KBROWNF
JUMPED
YDOG
ULDL
VETOGET
HTHIS
ONASPOSSIB
使用
zip()

for slicelist, text in zip(lists_of_lists, just_a_list):
    for start, stop in zip(*([iter(slicelist)]*2)):
        print(text[int(start):int(stop) + 1])
请注意,我们必须在停止索引中添加1,因为您似乎需要它是包含的,而在Python中,停止索引是独占的

这使得:

>>> for slicelist, text in zip(lists_of_lists, just_a_list):
...     for start, stop in zip(*([iter(slicelist)]*2)):
...         print(text[int(start):int(stop) + 1])
... 
HEQU
KBROWNF
JUMPED
YDOG
ULDL
VETOGET
HTHIS
ONASPOSSIB

如果我没弄错的话:

>>> ls = just_a_list =['THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG', 'IWOULDLOVETOGETOVERWITHTHISASSOONASPOSSIBLE']

>>> ls[0]
'THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG'

# so we do    
# your index was off by one
>>> ls[0][1:5]
'HEQU'

>>> ls[0][7:14]
'KBROWNF'

如果我没弄错的话:

>>> ls = just_a_list =['THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG', 'IWOULDLOVETOGETOVERWITHTHISASSOONASPOSSIBLE']

>>> ls[0]
'THEQUICKBROWNFOXJUMPEDOVERTHELAZYDOG'

# so we do    
# your index was off by one
>>> ls[0][1:5]
'HEQU'

>>> ls[0][7:14]
'KBROWNF'

这是家庭作业还是现实问题?如果是后者,您需要重新考虑数据结构的设计。我的“似乎是一个家庭作业”感觉开始刺痛@莱维斯基-它的家庭作业。如果需要,我可以更改数据结构。建议?是的,我同意,听写可能是更好的选择这是家庭作业还是现实问题?如果是后者,您需要重新考虑数据结构的设计。我的“似乎是一个家庭作业”感觉开始刺痛@莱维斯基-它的家庭作业。如果需要,我可以更改数据结构。建议?是的,我同意,dict可能是更好的选择
{'':[],'':[]}
@julio.alegria:注意,我没有详细解释它是如何工作的。如果我是老师,我会问一些具体的问题,比如
zip(*([iter(slicelist)]*2))
部分是如何工作的。这太棒了。你能给我解释一下代码是如何工作的吗。我不知道里面到底发生了什么。@begin.py:啊,但有麻烦,不是吗我解释了它的大部分工作原理。您可以在@begin.py中找到我使用的函数:
zip()
+
iter()
节之前已经在堆栈溢出上讨论过,特别是在@julio.alegria中-我很乐意向您展示我正在处理的文件。这里给出的代码将帮助我完成大约10%的工作。从前,即使你是一个学习者,即使你需要帮助。如果你不能提供建设性或帮助,请不要发表评论。@julio.alegria:请注意,我没有详细解释它是如何工作的。如果我是老师,我会问一些具体的问题,比如
zip(*([iter(slicelist)]*2))
部分是如何工作的。这太棒了。你能给我解释一下代码是如何工作的吗。我不知道里面到底发生了什么。@begin.py:啊,但有麻烦,不是吗我解释了它的大部分工作原理。您可以在@begin.py中找到我使用的函数:
zip()
+
iter()
节之前已经在堆栈溢出上讨论过,特别是在@julio.alegria中-我很乐意向您展示我正在处理的文件。这里给出的代码将帮助我完成大约10%的工作。从前,即使你是一个学习者,即使你需要帮助。请不要评论,如果你不能建设性或帮助。