如何使用列表理解从字典中获取特定值并修改它们?
How to get specific values from a dictionary using list comprehension and modify them?
有人可以帮忙并请教我如何从这本词典中获取特定值(使用列表理解)和
- 仅对值进行平方,
- 更改每个字符串值,使其以大写字母开头?
items_list = {'a': 3, 'b':6, 'c': 'short', 'h': 'example', 'p': 77}
所以,输出需要是:
9, 36, 5929
Short, Example
是的,您需要遍历字典并检查该值是否为 int 然后对其进行平方,如果不是大写
result = []
for key, value in dictionary.items()
if type(value) is int:
result.append(value**2)
else:
result.append(value.capitalize())
print(result)
这应该打印所需的输出
(Python):
items_list = {'a': 3, 'b': 6, 'c': 'short', 'h': 'example', 'p': 77}
lst = [v ** 2 if isinstance(v, (int, float)) else v.capitalize() for v in
items_list.values()]
print(lst)
输出:
[9, 36, 'Short', 'Example', 5929]
使用单列表理解无法产生您显示的确切输出,因为迭代是有序的。
有人可以帮忙并请教我如何从这本词典中获取特定值(使用列表理解)和
- 仅对值进行平方,
- 更改每个字符串值,使其以大写字母开头?
items_list = {'a': 3, 'b':6, 'c': 'short', 'h': 'example', 'p': 77}
所以,输出需要是:
9, 36, 5929
Short, Example
是的,您需要遍历字典并检查该值是否为 int 然后对其进行平方,如果不是大写
result = []
for key, value in dictionary.items()
if type(value) is int:
result.append(value**2)
else:
result.append(value.capitalize())
print(result)
这应该打印所需的输出
(Python):
items_list = {'a': 3, 'b': 6, 'c': 'short', 'h': 'example', 'p': 77}
lst = [v ** 2 if isinstance(v, (int, float)) else v.capitalize() for v in
items_list.values()]
print(lst)
输出:
[9, 36, 'Short', 'Example', 5929]
使用单列表理解无法产生您显示的确切输出,因为迭代是有序的。