您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在python列表解析中解包元组(未使用* -operator)

5b51 2022/1/14 8:22:35 python 字数 1401 阅读 557 来源 www.jb51.cc/python

我试图基于另一个列表创建一个列表,相同的值连续重复3次. 目前,我正在使用: >>> my_list = [ 1, 2 ] >>> three_times = [] >>> for i in range( len( my_list ) ): ... for j in range( 3 ): ... three_times.append( my_list[ i ] ) ... >>> p

概述

目前,我正在使用:

>>> my_list = [ 1,2 ]
>>> three_times = []
>>> for i in range( len( my_list ) ):
...   for j in range( 3 ):
...     three_times.append( my_list[ i ] )
...
>>> print three_times
[1,1,2,2]

但我想用更Pythonic的方式来做,例如:

>>> my_list = [ 1,2 ]
>>> three_times = []
>>> three_times = [ (value,) * 3 for value in my_list ]
>>> print three_times
[(1,1),(2,2)]

但是,我找不到解开元组方法.

对于my_list中的值,类似three_times = [*((value,)* 3)的东西对于解包元组是完美的,但这不是正确的语法.

如果你想使用列表推导,只需将你的for循环串联起来;你确实希望直接访问my_list中的值而不是生成索引:

[v for v in my_list for _ in range(3)]

总结

以上是编程之家为你收集整理的在python列表解析中解包元组(未使用* -operator)全部内容,希望文章能够帮你解决在python列表解析中解包元组(未使用* -operator)所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶