【问题标题】:Combining two elements python结合两个元素python
【发布时间】:2013-06-03 23:29:32
【问题描述】:

我有一个从称为站的数据创建的列表 = []

输出为

 ['france', 'england', 'germany', 'china', 'paris', 'sydney', 'gold coast', 'canberra', 'perth', 'melbourne']

我还有另一个功能 x 打印时打印。

[0.0, 3043.004178666758, 21558.2996208357, 40246.748450913066, 40908.82213277263, 43786.0579097594, 67781.1426515405, 79693.11338661514, 65046.35819797423, 92804.01912347642]

我有两个问题。

首先)有没有办法将两者结合起来,即我可以打印一个新的列表或打印的函数

[france = 0.0, england = 3043.004, germany = 21558.2999] and so on

其次,我可以创建变量或列表或类似的东西,使法国保持值 = 0.0,以便如果稍后产生 0.0,我可以调用法国和法国变量中的任何数据?

【问题讨论】:

    标签: python list dictionary combinations


    【解决方案1】:

    dictzip 一起使用:

    >>> lis1 = ['france', 'england', 'germany', 'china', 'paris', 'sydney', 'gold coast', 'canberra', 'perth', 'melbourne']
    >>> lis2 = [0.0, 3043.004178666758, 21558.2996208357, 40246.748450913066, 40908.82213277263, 43786.0579097594, 67781.1426515405, 79693.11338661514, 65046.35819797423, 92804.01912347642]
    >>> dic = dict(zip(lis1,lis2))
    >>> dic 
    {'canberra': 79693.11338661514,
     'china': 40246.748450913066,
     'england': 3043.004178666758,
     'france': 0.0,
     'germany': 21558.2996208357,
     'gold coast': 67781.1426515405,
     'melbourne': 92804.01912347642,
     'paris': 40908.82213277263,
     'perth': 65046.35819797423,
     'sydney': 43786.0579097594}
    
    # Fetching values
    >>> dic['france']
    0.0
    >>> dic['sydney']
    43786.0579097594
    

    打印键和值:

    >>> for k,v in dic.iteritems():
            # k points to the key, and v points to the value
            if v < distance:
                print k,"is less than", distance
            else:    
                print k,"is greater than or equal to",distance
    ...         
    england is greater than or equal to 1000
    canberra is greater than or equal to 1000
    paris is greater than or equal to 1000
    france is less than 1000
    melbourne is greater than or equal to 1000
    germany is greater than or equal to 1000
    sydney is greater than or equal to 1000
    china is greater than or equal to 1000
    gold coast is greater than or equal to 1000
    perth is greater than or equal to 1000
    

    【讨论】:

    • 我将如何打印整个 dic?是否可以像打印所有值一样
    • @user2430623 使用for 循环。
    • 为什么我不明白在这种情况下使用 for 循环。
    • @user2430623 你想打印什么。所有键和值?
    • 是的,所有的键和值都是我想要打印的。此外,如果我的值 0.0 稍后出现在代码中,它会自动链接到法国
    猜你喜欢
    • 2013-02-09
    • 2023-02-25
    • 1970-01-01
    • 2011-10-10
    • 2021-06-13
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多