我一直在环顾四周,看看是否有人真的这么做但却无法找到它,所以希望我能在这里得到一些帮助。
while
我创建了这个dict,我想使用Jan 31
Feb 29
Mar 31
Apr 30
May 31
Jun 30
Jul 31
Aug 30
循环以这种方式输出:
for
我可以使用while
循环执行此操作,只是好奇如何使用var myApp = angular.module('myApp',['angular-virtual-keyboard']);
myApp.controller('MyCtrl',MyCtrl);
function MyCtrl($scope) {
document.getElementsByTagName('input')[0].focus();
}
循环完成此操作。
答案 0 :(得分:4)
您可以将字典iterator
调用iteritems
(Python 2.x),或iter
上的items()
(Python 3.x)
# Python 2.x
from __future__ import print_function
items = newDict.iteritems()
# Python 3.x
items = iter(newDict.items())
while True:
try:
item = next(items)
print(*item)
except StopIteration:
break
注意:我们在Python 2.x上导入print_function
,因为print
将是一个语句而不是一个函数,因此行print(*item)
实际上是case class test {
a:string
b: string
c: Int
d: Int }
var temp = List(test("lol","lel",1,2))
var total = List(test)
total = total:::temp //this doesn't work because temp is of type [test] while total is of type [test.type]
失败
答案 1 :(得分:2)
这是另一种选择,使用.pop
方法。
newDict = {
'Jan':31, 'Feb':29, 'Mar':31, 'Apr':30,
'May':31, 'Jun':30, 'Jul':31, 'Aug':30
}
t = newDict.items()
while t:
print '%s %d' % t.pop()
典型输出
Jul 31
Jun 30
Apr 30
Aug 30
Feb 29
Mar 31
May 31
Jan 31
此代码不会修改newDict
的内容,因为在Python 2中dict.items()
会创建字典的(键,值)对的列表。在Python 3中,它返回一个动态View对象,它没有.pop
方法,所以这段代码不能在那里工作。
请记住,dict
是一个无序集合,因此输出顺序可能不是您所期望的。
答案 2 :(得分:0)
使用以下代码:
key=list(newDict.keys())
i=0
while i<len(key):
print(key[i]," ",newDict[key[i]])
i+=1
答案 3 :(得分:0)
您可以使用while
循环执行此操作。
newDict = {'Jan':31, 'Feb':29, 'Mar':31, 'Apr':30, 'May':31, 'Jun':30, 'Jul':31, 'Aug':30}
i = 0
while i < len(newDict):
val = newDict.items()[i]
print val[0], val[1]
i += 1
答案 4 :(得分:0)
这是一个荒谬的要求,但这是一种方法:
newDict = {'Jan':31, 'Feb':29, 'Mar':31, 'Apr':30, 'May':31, 'Jun':30, 'Jul':31, 'Aug':30}
while newDict:
x = next(x for x in newDict)
print(x, newDict.pop(x))
<强>注意:强>
while
执行完毕后,newDIct
为空。
答案 5 :(得分:0)
您可以使用iterator
Python 2.7
new_dict = {'Jan':31, 'Feb':29, 'Mar':31, 'Apr':30, 'May':31, 'Jun':30, 'Jul':31, 'Aug':30}
a = iter(new_dict.iteritems())
default = object()
while a:
elem = next(a, default)
# This check is to know whether iterator is exhausted or not.
if elem is default:
break
print "{} {}".format(*elem)
Python 3
new_dict = {'Jan':31, 'Feb':29, 'Mar':31, 'Apr':30, 'May':31, 'Jun':30, 'Jul':31, 'Aug':30}
a = iter(new_dict.items())
default = object()
while a:
elem = next(a, default)
# This check is to know whether iterator is exhausted or not.
if elem is default:
break
print("{} {}".format(*elem))