python 为一个列表创建多个列表
python make multiple lists of one list
在 PYTHON
我有一个 list
我想用它做一个 多个 列表 ,对于每个项目,我希望他创建一个列表和其他项目
我的初始列表:
cities = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
然后我希望输出为:
[
['Chevalley', 'A.Gharmoul 1'],
['Chevalley','El Madania'],
['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)
虽然这不一样,但它非常接近您要查找的内容。
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
的元组。
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']]
嵌套的 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) ]
在 PYTHON
我有一个 list
我想用它做一个 多个 列表 ,对于每个项目,我希望他创建一个列表和其他项目
我的初始列表:
cities = ['Chevalley', 'A.Gharmoul 1', 'El Madania']
然后我希望输出为:
[
['Chevalley', 'A.Gharmoul 1'],
['Chevalley','El Madania'],
['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)
虽然这不一样,但它非常接近您要查找的内容。
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
的元组。
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']]
嵌套的 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) ]