轻松熊喵喵 -- python自用函数集合

全局变量

全局变量降低了模块和函数之间的通用性;所以,在以后的编程过程中,应尽量避免使用全局变量。

方法一:

为了便于代码管理,将全局变量统一放到一个模块中,然后在使用全局变量的时候,导入全局变量模块,通过这种方法来进行使用全局变量;
在一个模块中定义全局变量:

复制代码代码如下:

#global.py
GLOBAL_1 = 1
GLOBAL_2 = 2
GLOBAL_3 = ‘Hello World’

然后在一个模块中导入全局变量定义模块,在新模块中使用全局变量:
代码如下:
import globalValues

def printGlobal():
print(globalValues.GLOBAL_1)
print(globalValues.GLOBAL_3)
globalValues.GLOBAL_2 += 1 # modify values

if name == ‘main’:
printGlobal()
print(globalValues.GLOBAL_2)

方法二:

直接在模块中定义全局变量,然后在函数中直接使用就ok了。但是在使用全局变量的时候,必须在函数中使用global关键字进行标识:

代码如下:
CONSTANT = 0

def modifyGlobal():
global CONSTANT
print(CONSTANT)
CONSTANT += 1

if name == ‘main’:
modifyGlobal()
print(CONSTANT)

列表反转

第一种

使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换

listNode = [1,2,3,4,5]
newList = list(reversed(listNode))
print(newList)

#结果
[5,4,3,2,1]

第二种

使用sorted函数,sorted是排序函数,它是对一个列表进行排序后生成一个新的list列表,而sort则是在原来的列表上直接进行排序。

listNode = [1,2,3,4,5]
newList = sorted(listNode,reverse = True)
print(newList)

#结果
[5,4,3,2,1]
其中,reverse是排序规则,True表示按降序排列,False表示按升序进行排序,False是默认值。

第三种

使用切片技术

listNode = [1,2,3,4,5]
li = listNode[::-1]
print(li)

#结果
[5,4,3,2,1]
切片的格式 [0:3:1],其中下标0 指的是序列的第一个元素(左边界),下标3可以指是切片的数量(右边界),参数1表示切片的步长为1,如果是-1则表示从右边开始进行切片且步长为1。切片不包括右边界下标。

[ : ]表示获取序列所有的元素,省略步长则会默认步长为1。

第四种

使用循环,递归

listNode = [1,2,3,4,5]
new=[]
head=listNode
while head!=None:
new.append(head.val)
head=head.next
new.reverse()
print(new)
def getLists(self,listNode):
if listNode is None:
return []
l = self.getLists(listNode.next)
   return l + [listNode.val]
lists = [1,2,3,4,5]
getLists(lists)
其中,+ 连接多个小的列表,最后组成一个全新的大列表,相当于使用多个值或列表新建一个列表,比如存在列表 l = [1,2],我们运行 l = l + [3] 时l结果就是 [1,2,3]。

另外append也是将某值添加到列表中,但append相当于修改列表,比如我们执行 l.append([3]) 时,列表的结果就会是 [1,2,[3]]。

Python用input输入列表的实例代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值