Python 2.7 插入一个大于10的数字以在Python中列出
我有一个列表,比如Python 2.7 插入一个大于10的数字以在Python中列出,python-2.7,Python 2.7,我有一个列表,比如list=['a','b']。我想在“a”和“b”之间插入一个数字,如1234。当我使用list[1:1]=str(1234)时,它返回['a','1','2','3','4','b']。我想以这种方式输出:['a','1234','b']。您能帮助我吗?您可以使用insert方法,该方法将索引位置作为第一个参数,将要插入的项作为第二个参数: In [1]: l = ['a', 'b'] In [2]: l.insert(1, 1234) In [3]: l Out[3]:
list=['a','b']
。我想在“a”和“b”之间插入一个数字,如1234。当我使用list[1:1]=str(1234)
时,它返回['a','1','2','3','4','b']
。我想以这种方式输出:['a','1234','b']
。您能帮助我吗?您可以使用insert
方法,该方法将索引位置作为第一个参数,将要插入的项作为第二个参数:
In [1]: l = ['a', 'b']
In [2]: l.insert(1, 1234)
In [3]: l
Out[3]: ['a', 1234, 'b']
请注意,l
是这里的列表-您希望避免使用内置Python关键字(例如list
)作为变量名,因为它最终会让您(以及其他阅读您的代码的人:)头疼。至于为什么你的不起作用——当你分配给一个列表的一个片段时(例如,l[1:1]
),等式右侧的部分需要是一个iterable(即你可以迭代的部分,比如另一个列表、字符串等)。然后,它使iterable的每个元素在主列表中成为自己的元素,从指定的位置开始。当你说str(1234)
时,你会得到'1234'
返回,当你把它分配到列表的片段时,它会分解成['1','2','3','4']
如果希望使用切片指定完成插入,可以执行以下操作(注意数字如何包装在列表括号中,使其成为一个元素列表),但这只是一个示例,以了解发生了什么-insert
具有更好的性能:
In [18]: l = ['a', 'b']
In [19]: l[1:] = [1234] + l[1:]
In [20]: l
Out[20]: ['a', 1234, 'b']
这将获取列表中从
'b'
开始的部分,并将其替换为列表[1234]
加上原始列表中从'b'
开始的部分,其结果基本相同。您可以使用插入
方法,它将索引位置作为第一个参数,将要插入的项作为第二个参数:
In [1]: l = ['a', 'b']
In [2]: l.insert(1, 1234)
In [3]: l
Out[3]: ['a', 1234, 'b']
请注意,l
是这里的列表-您希望避免使用内置Python关键字(例如list
)作为变量名,因为它最终会让您(以及其他阅读您的代码的人:)头疼。至于为什么你的不起作用——当你分配给一个列表的一个片段时(例如,l[1:1]
),等式右侧的部分需要是一个iterable(即你可以迭代的部分,比如另一个列表、字符串等)。然后,它使iterable的每个元素在主列表中成为自己的元素,从指定的位置开始。当你说str(1234)
时,你会得到'1234'
返回,当你把它分配到列表的片段时,它会分解成['1','2','3','4']
如果希望使用切片指定完成插入,可以执行以下操作(注意数字如何包装在列表括号中,使其成为一个元素列表),但这只是一个示例,以了解发生了什么-insert
具有更好的性能:
In [18]: l = ['a', 'b']
In [19]: l[1:] = [1234] + l[1:]
In [20]: l
Out[20]: ['a', 1234, 'b']
这将获取列表中从'b'
开始的部分,并将其替换为列表[1234]
加上原始列表中从'b'
开始的部分,其结果基本相同