Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中获取字典中非空值的位置_Python_Dictionary - Fatal编程技术网

如何在Python中获取字典中非空值的位置

如何在Python中获取字典中非空值的位置,python,dictionary,Python,Dictionary,这是我的字典: d={"1":"", "2":"", "3":"", "4":"rock" , "5":"" , "6":"" ,"7":"paper","8":""} 我想要键和值的位置,其值为非空。 我试过: d.items() 输出: [('1', ''), ('3', ''), ('2', ''), ('5', ''), ('4', 'rock'), ('7', 'paper'), ('6', ''), ('8', '')] 我希望我的输出是: 4 rock 7 paper 请帮

这是我的字典:

d={"1":"", "2":"", "3":"", "4":"rock" , "5":"" , "6":"" ,"7":"paper","8":""}
我想要键和值的位置,其值为非空。 我试过:

d.items()
输出:

[('1', ''), ('3', ''), ('2', ''), ('5', ''), ('4', 'rock'), ('7', 'paper'), ('6', ''), ('8', '')]
我希望我的输出是:

4 rock
7 paper
请帮忙。

像这样吗

>>> d = {"1":"", "2":"", "3":"", "4":"rock" , "5":"" , "6":"" ,"7":"paper","8":""}
>>> print {k: v for k, v in d.items() if v}
{'7': 'paper', '4': 'rock'}
d={"1":"", "2":"", "3":"", "4":"rock" , "5":"" , "6":"" ,"7":"paper","8":""}

for key, value in d.items():
    if value:
        print(key, value)
像这样

d={"1":"", "2":"", "3":"", "4":"rock" , "5":"" , "6":"" ,"7":"paper","8":""}

for key, value in d.items():
    if value:
        print(key, value)
这应该做到:

from __future__ import print_function

data = {
    '1': '', '2': '', '3': '', '4': 'rock',
    '5': '', '6': '', '7': 'paper', '8': '',
    }

new_data = {k: v for k, v in data.items() if v}

for k, v in new_data.items():
    print(k, v)
这应该做到:

from __future__ import print_function

data = {
    '1': '', '2': '', '3': '', '4': 'rock',
    '5': '', '6': '', '7': 'paper', '8': '',
    }

new_data = {k: v for k, v in data.items() if v}

for k, v in new_data.items():
    print(k, v)