我有一个Python字典将字符串映射到字符串列表。你知道吗
例如,对于这个例子
dd = {'cc': ['aa', 'UU', 'zzzzzzz'], 't': ['aa', 'uu', 'ZZZZZZ']}
我想要这个:
{'cc': ['aa', 'UU', 'ZZZZZZZ'], 't': ['aa', 'uu', 'ZZZZZZ']} # note the last item in the first list
我想我可以通过索引重新分配最后一个项目,并尝试了这个项目的变体
{k: (v[-1] = v[-1].upper()) for k,v in dd.viewitems()}
# --> returns syntax error
# or this, which returns None:
{k: v[:-1].append(v[-1].upper()) for k,v in dd.viewitems()}
#the below works but I don't like it
{k: [i if not v.index(i) == len(v)-1 else i.upper() for i in v] for k,v in dd.viewitems()}
我不能用一张肮脏的单子把它列出来。你知道吗
(虽然不是我自己的错,但我在Py 2上)
谢谢!你知道吗
使用一个简单的
for
循环:词典理解不能包含作业,因此不适合您尝试应用的逻辑。你知道吗
您可以使用解包:
输出:
但是,对于具有任意元素数的列表,可以使用负索引:
相关问题 更多 >
编程相关推荐