首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Python中的切片来选择其他的

如何使用Python中的切片来选择其他的
EN

Stack Overflow用户
提问于 2017-05-11 03:02:13
回答 5查看 9K关注 0票数 2

我想知道如何从python中分配给变量的数字中提取每一个其他数字(从第二个数字开始)。

例如,我想要这样:

代码语言:javascript
运行
复制
a= '102030'

成为

代码语言:javascript
运行
复制
a= '000'

我听说这是可以用“切片”,我只是不确定如何做。

任何帮助都是非常感谢的!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-05-11 03:07:48

编辑:

否则,如果您从给定的字符串开始,那么只需将其切片如下:

代码语言:javascript
运行
复制
a = a[1::2]
  1. 第一个元素1意味着要从其第二个元素开始对元素进行切片。
  2. 最后一个元素2是间隔(每两个元素)
  3. 空中间元素实际上是索引上限(排它)。如果你不放任何东西就意味着你想要所有的东西。

原版:

参考您先前的问题,在此:

如何将列表元素变成字符串?

从拥有a = [10, 20, 30]开始,

为了从每个列表项的第二个元素中获取给定整数列表a的联接字符串,可以使用[1::] (索引1表示从第二个元素开始)将列表的每个项分割到第二个元素开始,如下所示:

代码语言:javascript
运行
复制
a = [10, 20, 30]
a = [''.join(str(x)[1::] for x in a)]

print(a)

结果:

代码语言:javascript
运行
复制
['000']
票数 4
EN

Stack Overflow用户

发布于 2017-05-11 03:09:14

首先,您只能对某些序列对象进行切片,如列表和字符串。你有整数。不过,你仍然可以得到你想要的结果。

首先,将您的数字转换为字符串:

代码语言:javascript
运行
复制
a = 102030
str_a str(a)

然后,您可以使用普通的切片语法,所以您可以使用开始、结束、步骤大小来完成这个任务。

代码语言:javascript
运行
复制
a = int(str_a[1::2])
# a == 0
# but str_a[1::2] == "000"

现在A将是你想要的整数。

编辑:你似乎完全改变了你的问题,所以它变得更加琐碎:

代码语言:javascript
运行
复制
a = "102030"[1::2]

您可以将‘切片’分成字符串,切片语法是seqence_type[start:end:step],如果第一个参数从第一个索引开始(在本例中将得到"123“而不是"000",所以我们不能这样做)则可以省略第一个参数,如果省略第二步到末尾,如果省略最后一个参数步骤1,则不能这样做。这样,您甚至可以使用切片来复制数组/字符串

代码语言:javascript
运行
复制
hello = "hello"
hello2 = hello[:]+"2"
print(hello2)
# "hello2"
票数 3
EN

Stack Overflow用户

发布于 2017-05-11 03:08:50

只需做以下几点:

代码语言:javascript
运行
复制
l[1:][::2]

它所做的事情基本上与:

代码语言:javascript
运行
复制
l[1::2]
代码语言:javascript
运行
复制
>>> a= '102030'
>>> a[1:][::2]
'000'
>>> a[1::2]
'000'
>>>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43905817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档