Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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_Dynamic_Naming - Fatal编程技术网

Python中的动态命名列表

Python中的动态命名列表,python,dynamic,naming,Python,Dynamic,Naming,正如标题所说,我正在尝试用Python动态命名列表。代码的目的是围绕连续字母创建列表。这是我的密码: consecutive_duplicates=["a","a","a","a","b","c","c","a","a","d","e","e","e","e","X"] count=0 name=0 for i in consecutive_duplicates: if consecutive_duplicates[count]==consecutive_duplicates[cou

正如标题所说,我正在尝试用Python动态命名列表。代码的目的是围绕连续字母创建列表。这是我的密码:

consecutive_duplicates=["a","a","a","a","b","c","c","a","a","d","e","e","e","e","X"]

count=0
name=0

for i in consecutive_duplicates:
    if consecutive_duplicates[count]==consecutive_duplicates[count+1] or
              consecutive_duplicates[count]==consecutive_duplicates[count-1]:
        consecutive_duplicates[name].append(i)
        count=count+1
    else:
        consecutive_duplicates[name+1].append(i)
        name=name+1
我不知道如何给名单命名。显然,这不起作用。什么能让它起作用

我也很难定义动态列表。我应该怎么做?

您可以使用itertools.groupby:

与其创建动态变量,不如使用dict:

>>> dic = { 'lis'+str(i): list(g) for  i,(k,g) in enumerate(groupby(lis), 1)}
>>> dic['lis1']
['a', 'a', 'a', 'a']
>>> dic['lis2']
['b']

您期望的输出是什么?我期望的输出是一系列包含连续字母的列表。然后我会把它们变成一个单一的列表。请把你的问题限制在每个帖子只有一个问题。还有,你考虑过使用字典吗?
>>> dic = { 'lis'+str(i): list(g) for  i,(k,g) in enumerate(groupby(lis), 1)}
>>> dic['lis1']
['a', 'a', 'a', 'a']
>>> dic['lis2']
['b']