【发布时间】:2019-04-18 21:53:12
【问题描述】:
我是 python 3 的新手。
我想要做的是交替大写和小写,但仅在字典键上。
我的字典是从一个列表创建的,它的键是单词(或列表元素),它的值是这个元素在列表中出现的次数。
kb = str(input("Give me a string: "));
txt = kb.lower(); #Turn string into lowercase
cadena = txt.split(); #Turn string into list
dicc = {};
for word in cadena:
if (word in dicc):
dicc[word] = dicc[word] + 1
else:
dicc[word] = 1
print(dicc)
使用此代码我可以得到例如:
input: "Hi I like PYthon i am UsING python"
{'hi': 1, 'i': 2, 'like': 1, 'python': 2, 'am': 1, 'using': 1}
但我想要得到的实际上是:
{'hi': 1, 'I': 2, 'like': 1, 'PYTHON': 2, 'am': 1, 'USING': 1}
我试过用这个:
for n in dicc.keys():
if (g%2 == 0):
n.upper()
else:
n.lower()
print(dicc)
但我似乎不知道自己在做什么。 任何帮助,将不胜感激。
【问题讨论】:
-
您将键与其在键数组中的位置混淆
-
另外,请注意字典顺序在 python 3.7 之前是不确定的。无论如何,我个人不会依赖字典顺序;改用
collections.OrderedDict -
您只是想用大写/小写模式打印您的密钥,还是您真的想修改 dict 以便您的密钥以大写和小写交替顺序排列?
-
你想从字符串“bad bad bad”中得到什么?你想要字典
{"bad": 3}还是{"bad":2, "BAD":1}? -
另外...您需要了解字典在 Python 中的工作方式。您从哪里得知
.item()会起作用?
标签: python python-3.x dictionary uppercase lowercase