Python3 帮助确定动态创建列表的大多数 Pythonic 方法

用户9074332

寻求专家的帮助,以帮助在我正在创建的程序中做出正确的选择。创建列表的两种方法中哪一种对您来说更具有 Python 风格和可读性?或者有没有更好的方法可以做到这一点?

方法#1 - 列表理解

def test_func(*args):
    s = 'Country name: United {nm}'
    l = [s.format(nm='States') if x is 'us' 
         else s.format(nm='Arab Emirates') if x is 'uae'
         else s.format(nm='Kingdom') if x is 'uk' 
         else 'Unknown' for x in args]
    return l

# execute
test_func('us', 'uk', 'uae')

# results
['Country name: United States',
 'Country name: United Kingdom',
 'Country name: United Arab Emirates']

方法#2 - for 循环

def test_func(*args):
    s = 'Country name: United {nm}'
    l = []
    for arg in args:
        if arg is 'us':
            l.append(s.format(nm='States'))
        elif arg is 'uk':
            l.append(s.format(nm='Kingdom'))
        elif arg is 'uae':
            l.append(s.format(nm='Arab Emirates'))
        else:
            l.append(s.format(nm='Unknown'))
    return l

# execute
test_func('us', 'uk', 'uae')

# results
['Country name: United States',
 'Country name: United Kingdom',
 'Country name: United Arab Emirates']
斯蒂芬·劳赫

您在错误的级别映射。使用像这样的字典:

代码:

def test_func(*args):
    mapping = {
        'us': 'United States',
        'uae': 'United Arab Emirates',
        'uk': 'United Kingdom',
    }
    return ['Country name: {}'.format(mapping.get(x, 'Unknown')) for x in args]

# execute
print(test_func('us', 'uk', 'uae', 'xyzzy'))

结果:

[
    'Country name: United States', 
    'Country name: United Kingdom', 
    'Country name: United Arab Emirates',
    'Country name: Unknown'
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重新排序重复列表的大多数pythonic方法

来自分类Dev

将列表扩展到一定长度的大多数pythonic方法?

来自分类Dev

通过列表值插入有限但任意数量的时间的大多数pythonic方法

来自分类Dev

编写高阶函数的大多数pythonic方法

来自分类Dev

从Shell命令获取输出的大多数pythonic方法

来自分类Dev

如果第一个元素是重复项,则从列表中删除元组的大多数pythonic方法

来自分类Dev

将模块中的所有对象作为模块中的名称导入的大多数pythonic方法

来自分类Dev

向切片分配单个值的大多数pythonic和/或性能方法?

来自分类Dev

将字符串转换为八进制数的大多数pythonic方法

来自分类Dev

分解高度分支的解析器的大多数pythonic方法

来自分类Dev

格式化字符串的大多数pythonic方法

来自分类Dev

处理导入函数的大多数pythonic方法将覆盖冲突

来自分类Dev

将特定关键字附加到Dictionary的大多数pythonic方法

来自分类Dev

`Itertools.cycle`:采取多个步骤的大多数pythonic方法?

来自分类Dev

Python3中列表内容彼此相乘的Pythonic方式

来自分类Dev

从元组列表中选择特定元组的大多数Python方法

来自分类Dev

将一系列图像拼接在一起的大多数pythonic方法

来自分类Dev

将一系列图像拼接在一起的大多数pythonic方法

来自分类Dev

pythonic索引对象列表的方法

来自分类Dev

绘制向量函数的大多数Python方法

来自分类Dev

绘制向量函数的大多数Python方法

来自分类Dev

大多数pythonic可能会将嵌套列表传递给格式

来自分类Dev

替换列表列表内容的pythonic方法?

来自分类Dev

迭代建立列表的最Pythonic方法?

来自分类Dev

查找列表内部值的pythonic方法

来自分类Dev

翻转列表/元组的pythonic方法

来自分类Dev

创建2D数组的Pythonic方法?

来自分类Dev

在python 2和3中确保unicode的Pythonic方法

来自分类Dev

从Pandas Dataframe列创建列表的高效/ Pythonic方法

Related 相关文章

  1. 1

    重新排序重复列表的大多数pythonic方法

  2. 2

    将列表扩展到一定长度的大多数pythonic方法?

  3. 3

    通过列表值插入有限但任意数量的时间的大多数pythonic方法

  4. 4

    编写高阶函数的大多数pythonic方法

  5. 5

    从Shell命令获取输出的大多数pythonic方法

  6. 6

    如果第一个元素是重复项,则从列表中删除元组的大多数pythonic方法

  7. 7

    将模块中的所有对象作为模块中的名称导入的大多数pythonic方法

  8. 8

    向切片分配单个值的大多数pythonic和/或性能方法?

  9. 9

    将字符串转换为八进制数的大多数pythonic方法

  10. 10

    分解高度分支的解析器的大多数pythonic方法

  11. 11

    格式化字符串的大多数pythonic方法

  12. 12

    处理导入函数的大多数pythonic方法将覆盖冲突

  13. 13

    将特定关键字附加到Dictionary的大多数pythonic方法

  14. 14

    `Itertools.cycle`:采取多个步骤的大多数pythonic方法?

  15. 15

    Python3中列表内容彼此相乘的Pythonic方式

  16. 16

    从元组列表中选择特定元组的大多数Python方法

  17. 17

    将一系列图像拼接在一起的大多数pythonic方法

  18. 18

    将一系列图像拼接在一起的大多数pythonic方法

  19. 19

    pythonic索引对象列表的方法

  20. 20

    绘制向量函数的大多数Python方法

  21. 21

    绘制向量函数的大多数Python方法

  22. 22

    大多数pythonic可能会将嵌套列表传递给格式

  23. 23

    替换列表列表内容的pythonic方法?

  24. 24

    迭代建立列表的最Pythonic方法?

  25. 25

    查找列表内部值的pythonic方法

  26. 26

    翻转列表/元组的pythonic方法

  27. 27

    创建2D数组的Pythonic方法?

  28. 28

    在python 2和3中确保unicode的Pythonic方法

  29. 29

    从Pandas Dataframe列创建列表的高效/ Pythonic方法

热门标签

归档