Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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/8/python-3.x/17.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
Arrays 在python中列出与其他元素的映射_Arrays_Python 3.x_List_Numpy_Anaconda - Fatal编程技术网

Arrays 在python中列出与其他元素的映射

Arrays 在python中列出与其他元素的映射,arrays,python-3.x,list,numpy,anaconda,Arrays,Python 3.x,List,Numpy,Anaconda,我有这样一个列表:['a,'B','C'],我想要这样的输出 ['AB','BC','CA'] 如何获得此输出。谢谢你的帮助。我从for循环中获取作为迭代的输入列表。感谢使用zip进行列表理解,注意lst[1:]+lst[:1]用于按一个元素滚动列表: lst = ['A','B','C'] [x + y for x, y in zip(lst, lst[1:] + lst[:1])] # ['AB', 'BC', 'CA'] ​ 如果您不关心对之间和对内的顺序: import iterto

我有这样一个列表:['a,'B','C'],我想要这样的输出

['AB','BC','CA']

如何获得此输出。谢谢你的帮助。我从for循环中获取作为迭代的输入列表。感谢使用
zip
进行列表理解,注意
lst[1:]+lst[:1]
用于按一个元素滚动列表:

lst = ['A','B','C']
[x + y for x, y in zip(lst, lst[1:] + lst[:1])]
# ['AB', 'BC', 'CA']

如果您不关心对之间和对内的顺序:

import itertools
list(map(''.join, itertools.combinations(['A', 'B', 'C', 'D'], 2)))
['AB', 'AC', 'AD', 'BC', 'BD', 'CD']
如果你真的在乎:

L = list('ABXD')
N = len(L)
[L[i] + L[(i+d) % N] for d in range(1, N//2 + 1) for i in range(N if 2*d < N else d)]
['AB', 'BX', 'XD', 'DA', 'AX', 'BD']

使用大软件包的完全惰性版本


你希望
['A'、'B'、'C'、'D']
有什么输出?@Jeronimo但OP要求的是“与其他元素一起”,所以可以说除了n=0和n=3之外,这个(以及大多数其他答案)给出的结果都是错误的。效果很好,我怎样才能从['A'、'ABD'、'ABE'、'BCD'、'BCE']列表中得到:['ABC'、'ABC'、'D'、'E']感谢您的帮助,多谢各位much@Ara例如,你不想在这个列表中使用“ACD”吗?我知道了,非常感谢:)是的,我需要用3代替2Hi,我有一个这样的列表['AC',AF',CF',我希望输出是[a,C,F],例如输入是:['AC',AD',CD',我希望输出为[a,C,D].什么是可以理解的方法。短暂性脑缺血发作
[]
[]
['AB']
['AB', 'BC', 'CA']
['AB', 'BC', 'CD', 'DA', 'AC', 'BD']
['AB', 'BC', 'CD', 'DE', 'EA', 'AC', 'BD', 'CE', 'DA', 'EB']
['AB', 'BC', 'CD', 'DE', 'EF', 'FA', 'AC', 'BD', 'CE', 'DF', 'EA', 'FB', 'AD', 'BE', 'CF']
import itertools
from more_itertools import pairwise

def wrapped_pairwise(it):
    it = iter(it)
    try:
        element = next(it)
    except StopIteration:
        return iter(())
    return (a+b for a, b in pairwise(itertools.chain((element,), it, (element,))))

assert list(wrapped_pairwise("")) == []
assert list(wrapped_pairwise("A")) == ["AA"]
assert list(wrapped_pairwise("ABC")) == ["AB","BC","CA"]
assert list(wrapped_pairwise(["A","B","C"])) == ["AB","BC","CA"]