修改列表中的字符串 - 在特定索引处

Akb*_*ein 1 python python-3.x

我有一个包含一些字符串的列表:

x = ["james", "john", "robert", "michael", "william", "david", "richard", "charles", "joseph", "thomas", "christopher"]
Run Code Online (Sandbox Code Playgroud)

我想删除列表中每个项目的第一个字母,条件是该项目的第一个字母是“j”。列表中唯一要更改的项目是以字母“j”开头的项目,其余项目保持不变。

期望的输出应该是这样的:

x = ["ames", "ohn", "robert", "michael", "william", "david", "richard", "charles", "oseph", "thomas", "christopher"]
Run Code Online (Sandbox Code Playgroud)

我尝试了各种传统方法for loops,但没有得到想要的结果。我在访问列表中特定索引处的字符串时遇到问题!

这只是一个例子,我的列表包含数万个项目。

谢谢!

Rak*_*esh 5

用于str.startswith检查字符串是否以以下开头j,然后使用切片将其删除。

前任:

x = ["james", "john", "robert", "michael", "william", "david", "richard", "charles", "joseph", "thomas", "christopher"]
print([i[1:] if i.startswith("j") else i for i in x])
Run Code Online (Sandbox Code Playgroud)

输出:

['ames', 'ohn', 'robert', 'michael', 'william', 'david', 'richard', 'charles', 'oseph', 'thomas', 'christopher']
Run Code Online (Sandbox Code Playgroud)