我有一个列表,如:mylist = ["1", "2", "3", "4", "5"]我想向所有其他项目添加一些文本,使其看起来像这样:mylist = ["1a", "2", "3a", "4", "5a"]我写了这个,它适用于每个项目。我如何使它仅适用于所有其他项目?mylist2 = ["a" + item for item in mylist]
3 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
一种方法是这样的:
mylist = ["1", "2", "3", "4", "5"]
res = [x + ('a' if i%2 == 0 else '') for i, x in enumerate(mylist)]
这导致:
['1a', '2', '3a', '4', '5a']
这种方法利用了这样一个事实,即您要更改的项的索引在除以 2 时的余数为 1。请参阅模数
慕慕森
TA贡献1856条经验 获得超17个赞
使用enumerate和 模数用三元测试奇数或偶数。
mylist = ["1", "2", "3", "4", "5"]
mylist2 = [item if i%2 else "a" + item for i,item in enumerate(mylist)]
结果:
>>> mylist2
['a1', '2', 'a3', '4', 'a5']
拿到1a,等...只需切换"a" + item通过item + "a"
添加回答
举报
0/150
提交
取消