在python的函数中,如何将列表list的一部分作为函数的参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python的函数中,如何将列表list的一部分作为函数的参数?相关的知识,希望对你有一定的参考价值。

比如定义个函数,想实现的功能就是将列表a的后半部分(['c','d'])传入函数,然后修改值,可以下面的代码并没有吧’c'修改成'z',请问该如何解决?
def paraTestList(L):
L[0]='z'
a=['a','b','c','d']
paraTestList(a[2:])
print(a)

后面paraTestList(a[2:])中,括号里面的a[2:]命令是指创建了一个包含列表a的一部分的一个副本列表。具体做法是:

def paraTestList(L):

L[0]='z'

a=['a','b','c','d']

b=a[2:]

paraTestList(b)

print(b)

具体情况如下:

1.Python的函数定义简单但灵活度大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,也可以简化调用者的代码。

2.默认参数可以简化函数的调用,设置默认参数时要注意:一是必选参数在前,默认参数在后,否则Python的解释器会报错;二是如何设置默认参数。当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

3.默认参数降低了函数调用的难度,而一旦需要更复杂的调用时,又可以传递更多的参数来实现。无论是简单调用还是复杂调用,函数只需要定义一个。

4.有多个默认参数时,调用的时候,既可以按顺序提供默认参数。

4.Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

参考技术A 我也是正在学PYthon的基础语法。

题主忘记了你后面paraTestList(a[2:])中,括号内的a[2:]命令是创建了一个包含列表a的一部分的一个副本列表,这样是不会改变列表a的实际内容的。打印出的a肯定也是不会变的。

具体做法是
def paraTestList(L):
L[0]='z'
a=['a','b','c','d']
b=a[2:]
paraTestList(b)
print(b)

希望能帮到你。本回答被提问者采纳

Python 中如何删除一个列表 List 中多个符合条件的元素

参考技术A l3=range(10)
l2=range(5)
l3=[i for i in l3 if i not in l2]
运行结果:
Python 2.7.12 (default, Nov 22 2016, 17:23:24)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> l3=range(10)
>>> l3
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l2=range(5)
>>> l2
[0, 1, 2, 3, 4]
>>> l3=[i for i in l3 if i not in l2]
>>> l3
[5, 6, 7, 8, 9]

以上是关于在python的函数中,如何将列表list的一部分作为函数的参数?的主要内容,如果未能解决你的问题,请参考以下文章

Python 中如何删除一个列表 List 中多个符合条件的元素

python常用列表函数

在python中如何将两个list合并成一个list,不用for语句

python的list()函数把字典转成列表,如何保持列表原有的顺序?

python中如何表示1到1000?

Python 如何随机打乱列表(List)排序