在字典中查找数字并用python打印
我有一本字典 如果我输入在字典中查找数字并用python打印,python,dictionary,Python,Dictionary,我有一本字典 如果我输入A=2,B=4 代码已将字典从02打印到04 我不想使用切片,但我找不到这样做的方法 有人知道怎么做吗?您可以通过以下方式从输入中手动构造键: 将输入转换为整数 从范围(a,B+1) 将量程功能的输出转换回带前导零的stings 编辑: 示例w/简单循环: A = int(input("A: ")) B = int(input("B: ")) a={“07”:3, "08": 99, "09": 2, "10": 55, "11": -5, "12": 1} A
A=2,B=4
代码已将字典从02
打印到04
我不想使用切片,但我找不到这样做的方法
有人知道怎么做吗?您可以通过以下方式从输入中手动构造键:
- 将输入转换为整数
- 从
范围(a,B+1)
- 将量程功能的输出转换回带前导零的stings
A = int(input("A: "))
B = int(input("B: "))
a={“07”:3,
"08": 99,
"09": 2,
"10": 55,
"11": -5,
"12": 1}
A=8#输入()的结果。。。
B=11
键=[]
对于范围(A、B+1)内的i:
如果我试试这个:
a = { "07": 3,
"08": 99,
"09": 2,
"10": 55,
"11": -5,
"12": 1}
A = 8 # result of input()...
B = 11
keys = []
for i in range(A, B+1):
if i <10:
temp = ''.join(['0', str(i)])
keys.append(temp)
else:
keys.append(str(i))
for key in keys:
print(key, a.get(key))
输出:
A = int(input("A: "))
B = int(input("B: "))
dictionary = {"05": 1, "04": 2, "03": 3, "02": 4, "01": 5}
for n in range(A, B):
print(dictionary[f"{n+1}.zfill(2)])
您可以在这里使用一个简单的for循环,如下所示:
A: 2
B: 4
3
2
或者,您可以使用字典理解来获取筛选项的新字典:
it = filter(lambda item: int(item[0]) >= A and int(item[0]) <= B, d.items())
for item in it:
print(item)
sub_dict={k:v代表k,v在d中。items()如果int(k)>=A和int(k),我考虑过这一点,但有什么{“11”:5}在字典中?那么前导零的解决方案就行不通了。好吧,你需要为字典中的键定义一些规则。如果只是对于小于10的数字有一个前导零,你可以用一个条件语句来处理这种情况,将前导零相加。
it = filter(lambda item: int(item[0]) >= A and int(item[0]) <= B, d.items())
for item in it:
print(item)
sub_dict = {k:v for k,v in d.items() if int(k) >= A and int(k) <= B}
print(sub_dict)