usingAppend = []; usingExtend = []; usingLC = []
d = {'pKey_b': 'vb1', 'pKey_e': 've1', 'pKey_c': 'vc1', 'pKey_a': 'va1', 'pKey_d': 'vd1'}
在for-loop
中使用append
给出了带有子列表的list
for k, v in sorted(d.iteritems()):
usingAppend.append([k, v])
print '\n', usingAppend
'''
[
['pKey_a', 'va1'],
['pKey_b', 'vb1'],
['pKey_c', 'vc1'],
['pKey_d', 'vd1'],
['pKey_e', 've1']
]
'''
在for-loop
中使用extend
得到一个list
for k, v in sorted(d.iteritems()):
usingExtend.extend((k, v))
print '\n', usingExtend
'''
['pKey_a', 'va1', 'pKey_b', 'vb1', 'pKey_c', 'vc1', 'pKey_d', 'vd1', 'pKey_e', 've1']
'''
使用这个生成器表达式得到的结果与在带有子列表的for loop
、a list
中使用append
得到的结果相同
usingLC = sorted([k, v] for k, v in d.iteritems())
print '\n', usingLC
'''
[
['pKey_a', 'va1'],
['pKey_b', 'vb1'],
['pKey_c', 'vc1'],
['pKey_d', 'vd1'],
['pKey_e', 've1']
]
'''
我的问题是,有没有一种方法可以设置生成器表达式,以给出与在for循环中使用extend
相同的结果
使用双循环:
或者
或^{} :
尽管你可以使用:
在这种情况下。你知道吗
演示:
相关问题 更多 >
编程相关推荐