【问题标题】:how can i get the key and value separately in dictionary python by slicing如何通过切片在字典python中分别获取键和值
【发布时间】:2021-04-12 01:44:09
【问题描述】:

我在下面有一本字典:

{"product17":[3,"600I Infusion Pump",255]}

简单地说,我需要单独的键和值。单独获取值后,我还需要对列表进行切片。但我无法分别获取键和值。如何通过切片在字典python中分别获取键和值?

【问题讨论】:

  • 请澄清,为什么不能使用dict.keys()函数?获取所有键,您可以获取每个键的值。
  • 好的,谢谢,我将使用它

标签: python dictionary slice


【解决方案1】:

您可以在字典中使用d.items() 来迭代(key, value)-tuples。结合zip,可以获取key和value:

d = {...}  # your dictionary
keys, values = zip(*d.items())

# slice values

例子:

d = {f"k{i}": f"v{i}" for i in range(3)}
keys, values = zip(*d.items())
keys   # ('k0', 'k1', 'k2')
values  # ('v0', 'v1', 'v2')

【讨论】:

    【解决方案2】:

    字典可以转换为 2 个列表。第一个列表将用于所有键,另一个用于值。我们可以像下面这样转换:

    方法1(使用zip):

    dict1={A:'1', B:'2'}
    
    # using zip()
    list1, list2 = list(zip(*dict1.items()))
    
    ---------------------------------------------
    print(list1)>>(A,B)
    print(list2)>>(1,2)
    

    方法2(使用物品):

    dict1={A:'1', B:'2'}
    list1=[]
    list2=[]
    
    #using items()
    for i in dict1.items():
    list1.append(i[0]), list2.append(i(1))
    
    
    ---------------------------------------------
    print(list1)>>(A,B)
    print(list2)>>(1,2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 2020-02-08
      • 1970-01-01
      • 2019-06-17
      • 2017-03-19
      • 2013-05-22
      • 2018-04-13
      相关资源
      最近更新 更多