python - 如何简化 Python 中的列表处理?

标签 python list

这是我的第一个 Python 程序,一个将文件权限的 Unix 八进制代码转换为符号形式的小实用程序:

s=raw_input("Octal?  ");
digits=[int(s[0]),int(s[1]),int(s[2])];
lookup=['','x','w','wx','r','rx','rw','rwx'];
uout='u='+lookup[digits[0]];
gout='g='+lookup[digits[1]];
oout='o='+lookup[digits[2]];
print(uout+','+gout+','+oout);

有没有利用某种“列表处理”来缩短这段代码的方法?例如,一次性将 int 函数应用于 s 的所有三个字符,而无需进行显式索引。并一次使用整个列表 digits 索引到 lookup

最佳答案

digits=[int(s[0]),int(s[1]),int(s[2])];

可以写成:

digits = map(int,s)

或:

digits = [ int(x) for x in s ]  #list comprehension

看起来您可能正在使用 python3.x(或计划在未来根据您的函数式打印使用情况使用它),除非您想进一步深入,否则您可能想要选择列表理解并使用 zip,如后面的答案之一所示。

关于python - 如何简化 Python 中的列表处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722436/

相关文章:

python - 默认列表参数不重置

python - 查找列表中两个整数之间的最大增量

java - Comparator.comparing().reversed() 反转所有早期的比较器?

list - 从数组中获取值

python - 检查列表中每个元素的第一个数字是否相同

python - DataFrame.from_dict 无法将带有元组键的字典更改为多索引数据帧

python - 如何将 python 脚本作为可执行文件运行并保持对其周围文件的访问?

Python跨模块全局变量

python - 如何获取Opennebula XML-RPC api需要的参数

python - 列表中的字符串乘以另一个列表中的项目,打印在单独的行上