python knowledges

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lantuxin/article/details/79979623

1.list的remove问题

用remove删除for循环下的list中元素'1',只会删除从当前位置(程序中的i)开始第一个元素'1'。

测试代码:

class test():
    def __init__(self,a):
        self.a = a
if __name__=="__main__":
    list=[]
    l = ['1','1','2','2','1','1','2','2','1','1','2','2']
    list.append(test(1))
    list.append(test(1))
    list.append(test(2))
    list.append(test(1))
    list.append(test(2))
    list.append(test(1))
    list.append(test(1))
    list.append(test(1))
    list.append(test(1))
    list.append(test(3))
    list.append(test(1))
    list.append(test(1))
    list.append(test(3))
    list.append(test(3))

    for x in range(0,len(list)):
        print(list[x],list[x].a)
    for i in list:
        if i.a==1:
            print(i.a)
            list.remove(i)

    for x in range(0,len(list)):
        print(list[x],list[x].a)

参考网站:

http://www.runoob.com/python/att-list-remove.html

https://blog.csdn.net/guan666/article/details/71511948

2.导入包的路径

import sys
sys.path.append('所需包路径')

sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。

参考网站:http://www.runoob.com/python3/python3-module.html

3.python函数传不定长参数

1)形参写为*arg--表示传入的参数会以元组tuple形式传入;

2)形参写为**arg--表示传入的参数会以字典dict形式传入。

示例代码:

def testTuple(*arg):
    print(arg)

def testDict(**arg):
    print(arg)
    
if __name__=="__main__":
    testTuple(1,2,"3","4")
    testDict(a1=1,a2=2,a3="3",a4="4")

输出结果:

(1, 2, '3', '4')
{'a1': 1, 'a3': '3', 'a2': 2, 'a4': '4'}
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页