gpt4 book ai didi

Python 元组而不是列表

转载 作者:行者123 更新时间:2023-11-28 19:49:30 25 4
gpt4 key购买 nike

看了一些关于Python的技巧,遇到了下面的代码。我很困惑为什么代码在列表的列表中用两个元素创建元组。为什么python返回列表中的元组而不是列表中的列表?它与元组不可变有关吗?提前致谢。

>>>import os, glob
>>>[(os.stat(f).st_size, os.path.realpath(f)) for f in glob.glob('*.sh')]
[(3074, '/home/usr1/a.sh'),
(3386, '/home/usr1/b.sh'),
(3070, '/home/usr1/c.sh')]

最佳答案

代码显式生成元组:

(os.stat(f).st_size, os.path.realpath(f))

对于生成的每个列表元素,这是一个 2 值元组。列表理解可以重写为:

result = []
for f in glob.glob('*.sh'):
item = (os.stat(f).st_size, os.path.realpath(f))
result.append(item)

如果要生成嵌套列表,请将圆括号替换为方括号:

[[os.stat(f).st_size, os.path.realpath(f)] for f in glob.glob('*.sh')]

关于Python 元组而不是列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18926758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com