我想知道如何从python中分配给变量的数字中提取每一个其他数字(从第二个数字开始)。
例如,我想要这样:
a= '102030'成为
a= '000'我听说这是可以用“切片”,我只是不确定如何做。
任何帮助都是非常感谢的!
发布于 2017-05-11 03:07:48
编辑:
否则,如果您从给定的字符串开始,那么只需将其切片如下:
a = a[1::2]1意味着要从其第二个元素开始对元素进行切片。2是间隔(每两个元素)原版:
参考您先前的问题,在此:
从拥有a = [10, 20, 30]开始,
为了从每个列表项的第二个元素中获取给定整数列表a的联接字符串,可以使用[1::] (索引1表示从第二个元素开始)将列表的每个项分割到第二个元素开始,如下所示:
a = [10, 20, 30]
a = [''.join(str(x)[1::] for x in a)]
print(a)结果:
['000']发布于 2017-05-11 03:09:14
首先,您只能对某些序列对象进行切片,如列表和字符串。你有整数。不过,你仍然可以得到你想要的结果。
首先,将您的数字转换为字符串:
a = 102030
str_a str(a)然后,您可以使用普通的切片语法,所以您可以使用开始、结束、步骤大小来完成这个任务。
a = int(str_a[1::2])
# a == 0
# but str_a[1::2] == "000"现在A将是你想要的整数。
编辑:你似乎完全改变了你的问题,所以它变得更加琐碎:
a = "102030"[1::2]您可以将‘切片’分成字符串,切片语法是seqence_type[start:end:step],如果第一个参数从第一个索引开始(在本例中将得到"123“而不是"000",所以我们不能这样做)则可以省略第一个参数,如果省略第二步到末尾,如果省略最后一个参数步骤1,则不能这样做。这样,您甚至可以使用切片来复制数组/字符串
hello = "hello"
hello2 = hello[:]+"2"
print(hello2)
# "hello2"发布于 2017-05-11 03:08:50
只需做以下几点:
l[1:][::2]它所做的事情基本上与:
l[1::2]>>> a= '102030'
>>> a[1:][::2]
'000'
>>> a[1::2]
'000'
>>>https://stackoverflow.com/questions/43905817
复制相似问题