Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除一系列字符串的最后一个字符_Python_String - Fatal编程技术网

Python 删除一系列字符串的最后一个字符

Python 删除一系列字符串的最后一个字符,python,string,Python,String,假设我有数千种颜色: x=[blue, red, green,...] 如何删除每个字符串的最后一个字符,使x1为[blu,re,gree,…] 我试过这个: x1=[] for i in range (0,len(x)): x1[i]=x[i:-1] 我得到的错误是:列表分配索引超出范围 你知道怎么做吗?你得到了错误,因为x1是一个空列表。第一次迭代尝试将x1[0]分配给不存在的索引器 假设x是一个字符串列表,一种更具python风格的方法是根本不使用任何索引: x1 = [col

假设我有数千种颜色:

x=[blue, red, green,...]
如何删除每个字符串的最后一个字符,使x1为[blu,re,gree,…]

我试过这个:

x1=[]
for i in range (0,len(x)):
    x1[i]=x[i:-1]
我得到的错误是:列表分配索引超出范围


你知道怎么做吗?

你得到了错误,因为
x1
是一个空列表。第一次迭代尝试将
x1[0]
分配给不存在的
索引器

假设
x
是一个字符串列表,一种更具python风格的方法是根本不使用任何索引:

x1 = [color[:-1] for color in x]

您收到错误是因为
x1
是一个空列表。第一次迭代尝试将
x1[0]
分配给不存在的
索引器

假设
x
是一个字符串列表,一种更具python风格的方法是根本不使用任何索引:

x1 = [color[:-1] for color in x]

如果
x
是字符串列表,则
x[i]
是字符串。如果您只需要该字符串的最后一个字符,那么它就是
x[i][:-1]

这样你就可以写作了

x1 = []
for i in range(0, len(x)):
    x1.append(x[i][:-1])
或者你可以把它缩短为

x1 = [colour[:-1] for colour in x]

如果
x
是字符串列表,则
x[i]
是字符串。如果您只需要该字符串的最后一个字符,那么它就是
x[i][:-1]

这样你就可以写作了

x1 = []
for i in range(0, len(x)):
    x1.append(x[i][:-1])
或者你可以把它缩短为

x1 = [colour[:-1] for colour in x]

列表理解是解决问题的最佳方法:

x = ['blue', 'red', 'green']
new_x = [color[:-1] for color in x]
但您也可以使用
map
功能实现此结果:

x = ['blue', 'red', 'green']
new_x = list(map(lambda color: color[:-1], x))

我不确定哪种方法在性能上更好,但因为没有人提到
map
,所以…

列表理解是解决问题的最佳方法:

x = ['blue', 'red', 'green']
new_x = [color[:-1] for color in x]
但您也可以使用
map
功能实现此结果:

x = ['blue', 'red', 'green']
new_x = list(map(lambda color: color[:-1], x))

我不确定哪种方法在性能上更好,但是因为没有人提到
map
,所以…

您之所以会因为这个原因出错


因此,您需要使用.append来实现此操作。

由于此原因而导致错误的原因


因此,您需要使用.append来实现此功能。

列表理解不应使用任意字母;在可能的情况下,他们应该使用有意义的标识符。第一件事给了我同样的错误,第二件事起作用。列表理解不应该使用任意字母;在可能的情况下,他们应该使用有意义的标识符。第一件事给了我同样的错误,第二件事起作用。你需要这个到位还是需要一个新的数组?你需要这个到位还是需要一个新的数组?