gpt4 book ai didi

python 3字典键到一个字符串,值到另一个字符串

转载 作者:行者123 更新时间:2023-11-28 20:31:30 24 4
gpt4 key购买 nike

如果有字典:

dict={'a':'b'}

在 python 3 中,我想将此字典键转换为字符串并将其值转换为另一个字符串:

print(key)
key='a'
print(type(key))
str

print(value)
value='a'
print(type(value))
str

一些尝试:

str(dict.key()) # returns 'dict' object has no attribute 'key'

json.dump(dict) # returns {'a':'b'} in string, but hard to process

有什么简单的解决办法吗?谢谢!

最佳答案

使用 dict.items() :

您可以使用 dict.items() ( dict.iteritems() 对于 python 2),它返回成对的键和值,您可以简单地选择它的第一个。

>>> d = { 'a': 'b' }
>>> key, value = list(d.items())[0]
>>> key
'a'
>>> value
'b'

我转换了 d.items()到一个列表,然后选择它的 0索引,你也可以将它转换成一个迭代器,并使用 next 选择它的第一个:

>>> key, value = next(iter(d.items()))
>>> key
'a'
>>> value
'b'

使用 dict.keys() dict.values() :

您还可以使用 dict.keys()检索所有字典键,并选择它的第一个键。并使用 dict.values()检索所有字典值:

>>> key = list(d.keys())[0]
>>> key
'a'
>>> value = list(d.values())[0]
>>> value
'b'

在这里,你可以使用next(iter(...))也是:

>>> key = next(iter(d.keys()))
>>> key
'a'
>>> value = next(iter(d.values()))
'b'

确保获得 str :

上述方法不能确保检索到字符串,它们将返回键和值的实际类型。您可以将它们显式转换为 str :

>>> d = {'some_key': 1}
>>> key, value = next((str(k), str(v)) for k, v in d.items())
>>> key
'some_key'
>>> value
'1'
>>> type(key)
<class 'str'>
>>> type(value)
<class 'str'>

现在,key , 和 valuestr .尽管 dict 中的实际值是 int .

免责声明:如果字典有多个键值对,这些方法将选择第一个键值对,而忽略其他键值对。如果字典是空的,它将不起作用。如果您需要的解决方案在字典中有多个值时会失败,@SylvainLeroux's answer是您应该寻找的那个。

关于python 3字典键到一个字符串,值到另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54488095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com