Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 3.x 如何从python中的列表创建列表?_Python 3.x_List - Fatal编程技术网

Python 3.x 如何从python中的列表创建列表?

Python 3.x 如何从python中的列表创建列表?,python-3.x,list,Python 3.x,List,我正在使用python 3:,我想做什么?我有一个图片列表(其中一些是相同的,但名称不同),我想通过在列表中循环并将子列表或字典中相同的图片分组来比较它们 例如,这是3000人的名单 pictures=['A'、'B'、'D'、'F'、…],在比较图片之后,假设'A'和'D'是相同的,并且'B'和`'F',我想用子列表创建一个新列表,例如 new list = [['A','D'],['B','F'],... 或 总之,我想通过分组的方式来组织图片,针对那些名字不同但在同一组中相同的人 我发

我正在使用python 3:,我想做什么?我有一个图片列表(其中一些是相同的,但名称不同),我想通过在列表中循环并将子列表或字典中相同的图片分组来比较它们

例如,这是3000人的名单
pictures=['A'、'B'、'D'、'F'、…]
,在比较图片之后,假设
'A'
'D'
是相同的,并且
'B'
和`'F',我想用子列表创建一个新列表,例如

new list = [['A','D'],['B','F'],... 

总之,我想通过分组的方式来组织图片,针对那些名字不同但在同一组中相同的人

我发现的问题是,我的循环不会更新原始列表,删除相同的列表,并且在将该列表添加到新列表后,下一项不必与上一项相同。对于下一次迭代

我尝试了几种方法,但没有一种方法更新了原始列表(3000个) 有些目录包含3000项,最后一种方法给出的索引超出范围(k)

OP:假设图片A和D相似,而B和F相似

我用A和B替换了B和F,使其更简单:

pictures = [ 'A', 'B','A','B']

from collections import defaultdict

dict_ = defaultdict(list)
for ind, elem in enumerate(pictures):
    dict_[elem].append(elem)

print(list(dict_.values()))
输出:

[['A', 'A'], ['B', 'B']] 
OP:假设图片A和D相似,而B和F相似

我用A和B替换了B和F,使其更简单:

pictures = [ 'A', 'B','A','B']

from collections import defaultdict

dict_ = defaultdict(list)
for ind, elem in enumerate(pictures):
    dict_[elem].append(elem)

print(list(dict_.values()))
输出:

[['A', 'A'], ['B', 'B']] 
[['A', 'A'], ['B', 'B']]