为了账号安全,请及时绑定邮箱和手机立即绑定

在列表中的项目中移动字符的位置

在列表中的项目中移动字符的位置

喵喔喔 2021-08-14 15:55:43
如果我有一个清单,例如['Hello', 'what', 'is', 'your', 'name']what 方法可以让您在项目本身内移动角色的位置并存储它。So'Hello'可以'elloH'通过将第一个字符移到末尾来更改为,同样适用于其余项目。
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

只需重建列表并使用切片和添加生成新字符串:


lst = ['Hello', 'what', 'is', 'your', 'name']


result = [x[1:]+x[0] if x else "" for x in lst]

结果:


['elloH', 'hatw', 'si', 'oury', 'amen']

(注意允许对空字符串健壮的三元表达式,因为空字符串的情况下 intx[0]会引发IndexError。没有三元表达式,我们可以使用[x[1:]+x[0:1] for x in lst]which 做同样的事情)


查看完整回答
反对 回复 2021-08-14
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

检查以下代码:


mylist = ['Hello', 'what', 'is', 'your', 'name']


mylist = [(mylist[i][1:] + mylist[i][0:1]) for i in range(0,len(mylist))]


print(mylist)

输出 :


['elloH', 'hatw', 'si', 'oury', 'amen']


查看完整回答
反对 回复 2021-08-14
?
交互式爱情

TA贡献1712条经验 获得超3个赞

您可以使用切片和索引:


def shift(s):

    return s[1:] + s[0]


data = ['Hello', 'what', 'is', 'your', 'name']


result = [shift(s) for s in data]


print(result)

输出


['elloH', 'hatw', 'si', 'oury', 'amen']

该语句result = [shift(s) for s in data]被称为列表理解,相当于以下内容:


result = []

for s in data:

    result.append(shift(s))

最后另一种选择是使用map:


result = list(map(shift, data))

函数 map 将移位应用于数据的每个元素,但它返回(在 Python 3 中)一个可迭代对象,因此您需要将其转换为列表。


查看完整回答
反对 回复 2021-08-14
  • 3 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号