python将一个列表生成多个列表
在python将一个列表生成多个列表,python,python-3.x,list,python-2.7,Python,Python 3.x,List,Python 2.7,在PYTHON中,我有一个列表,我想从中创建一个多个列表,对于每个项目,我想让他创建一个列表,其中包含其他项目 我最初的名单: cities=['Chevalley'、'A.Gharmoul 1'、'El Madania']以下代码将帮助您创建所需的结果列表: items = ['Chevalley', 'A.Gharmoul 1', 'El Madania'] res = [[items[i],items[j]] for i in range(len(items)) for j in ran
PYTHON
中,我有一个列表
,我想从中创建一个多个列表,对于每个项目,我想让他创建一个列表,其中包含其他项目
我最初的名单:
cities=['Chevalley'、'A.Gharmoul 1'、'El Madania']
以下代码将帮助您创建所需的结果列表:
items = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
res = [[items[i],items[j]] for i in range(len(items)) for j in range(i+1, len(items))]
print(res)
下面的代码将帮助您创建要查找的结果列表:
items = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
res = [[items[i],items[j]] for i in range(len(items)) for j in range(i+1, len(items))]
print(res)
虽然这是不一样的,它是非常接近你正在寻找的
import itertools
a = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
result = list(itertools.combinations(a,2)) # number is the amount of items you want in the resultant tuple
结果将在列表中包含长度为
2
的元组。虽然这并不相同,但它与您要查找的非常接近
import itertools
a = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
result = list(itertools.combinations(a,2)) # number is the amount of items you want in the resultant tuple
result_list = []
for i in ['Chevalley', 'A.Gharmoul 1', 'El Madania']:
for j in ['Chevalley', 'A.Gharmoul 1', 'El Madania']:
if i != j:
result_list.append([i, j])
结果将在列表中包含长度2
的元组
result_list = []
for i in ['Chevalley', 'A.Gharmoul 1', 'El Madania']:
for j in ['Chevalley', 'A.Gharmoul 1', 'El Madania']:
if i != j:
result_list.append([i, j])
它应该迭代每一个可能的配对,同时忽略自身的配对元素
它应该迭代所有可能的配对,同时忽略自身的配对元素。下面应该这样做:
l = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
n = [[l[i], l[j]] for i in range(0, len(l) - 1, 1) for j in range(i + 1, len(l), 1)]
n
将等同于:
[['Chevalley', 'A.Gharmoul 1'],
['Chevalley', 'El Madania'],
['A.Gharmoul 1', 'El Madania']]
下面应该这样做:
l = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
n = [[l[i], l[j]] for i in range(0, len(l) - 1, 1) for j in range(i + 1, len(l), 1)]
n
将等同于:
[['Chevalley', 'A.Gharmoul 1'],
['Chevalley', 'El Madania'],
['A.Gharmoul 1', 'El Madania']]
嵌套for循环完成您的工作
list1 =['Chevalley', 'A.Gharmoul 1', 'El Madania']
output =[]
for i in range(len(list1)):
for j in range(i+1,len(list1)):
output.append([list1[i],list1[j]])
print(output)#[['Chevalley', 'A.Gharmoul 1'],['Chevalley','El Madania',['A.Gharmoul 1', 'El Madania']]
嵌套for循环完成您的工作
list1 =['Chevalley', 'A.Gharmoul 1', 'El Madania']
output =[]
for i in range(len(list1)):
for j in range(i+1,len(list1)):
output.append([list1[i],list1[j]])
print(output)#[['Chevalley', 'A.Gharmoul 1'],['Chevalley','El Madania',['A.Gharmoul 1', 'El Madania']]
您可以使用itertools并将输出元组转换为列表:
import itertools
new = [ list(el) for el in itertools.combinations(['Chevalley', 'A.Gharmoul 1', 'El Madania'], 2) ]
您可以使用itertools并将输出元组转换为列表:
import itertools
new = [ list(el) for el in itertools.combinations(['Chevalley', 'A.Gharmoul 1', 'El Madania'], 2) ]
itertools可能会帮助你。看这篇文档这回答了你的问题吗@ilyesBourouba让我知道,你觉得我的答案怎么样。现在我打算删除我的答案,这些答案对这个问题没有用处(没有答案),itertools可能会帮你解决。看这篇文档这回答了你的问题吗@ilyesBourouba让我知道,你觉得我的答案怎么样。现在我打算删除对问题没有用处的答案(无答案)