Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.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_Python 3.x_List_List Manipulation - Fatal编程技术网

重复列表的第一个和最后一个元素的Python方式是什么?

重复列表的第一个和最后一个元素的Python方式是什么?,python,python-3.x,list,list-manipulation,Python,Python 3.x,List,List Manipulation,如果我有一个类似于[1,2,3,4,5]的列表,如果还没有重复第一个和最后一个元素并获得[1,1,2,3,4,5,5],那么什么被认为是更具python风格的方法呢 我现在正在做的是: a = [1, 2, 3, 4, 5] b = [a[0], *a, a[-1]] 我将执行以下操作,将三个单独的列表粘在一起: >>> a = [1, 2, 3, 4, 5] >>> a[:1] + a + a[-1:] [1, 1, 2, 3, 4, 5, 5] 取决于

如果我有一个类似于[1,2,3,4,5]的列表,如果还没有重复第一个和最后一个元素并获得[1,1,2,3,4,5,5],那么什么被认为是更具python风格的方法呢

我现在正在做的是:

a = [1, 2, 3, 4, 5]
b = [a[0], *a, a[-1]]

我将执行以下操作,将三个单独的列表粘在一起:

>>> a = [1, 2, 3, 4, 5]
>>> a[:1] + a + a[-1:]
[1, 1, 2, 3, 4, 5, 5]

取决于您如何保存规范操作系统什么数字应该加倍,三倍,…关于[a[0]]+a+[a[-1]]如何?对于长列表~1M,您的解决方案是最快的。坚持下去。在飞行中改变你的问题是不公平的。很明显,原来的问题和新的问题需要完全不同的解决方案。好吧,我将为此创建一个新的问题,对不起,这被认为更像蟒蛇吗?我的意思是,我的是非常明确的,它字面上说我创建了一个包含a的第一个元素,a的每个元素和a的最后一个元素的列表,而使用连接它说我连接了一个只包含a的第一个元素的列表,列表a本身和一个只包含a的最后一个元素的列表,这个列表有点复杂,我想是吧。另外,性能方面,哪个更快?没有客观的pythonic度量。主观上,我发现这种方法易于阅读和理解,并且它只适用于列表和子列表,而不是试图从单个元素(即a[:1]而不是[a[0])构建新列表。在性能方面,您应该衡量所提供的方法,并找出最适合您的用例的方法。如果您需要将重复扩展到一个元素之外,请注意,这种方法非常容易适应。我明白您的观点,事实上,仅使用列表和子列表将问题扩展到两个以上的索引以重复或重复两次以上会更容易。我会调查更多关于性能的信息,谢谢