Python中的list问题整理笔记

1、对一个只含数字的list求和可直接用sum( )函数,为什么呢,sum( )函数的用法是sum(iterable[,start]),iterable是可迭代对象,sum函数最后的值为可迭代对象值的和加上start的值,start可以不写,一般默认为0;那么什么是可迭代对象呢,list,tuple,dict以及字符串string都是可迭代对象(即可以用for循环来获取其中值),Python中有模块可以判断一个对象是不是iterable

from collections import Iterable
isinstance('abc',Iterable)#字符串是否可迭代
isinstance(56,Iterable)#整数是否可迭代

2、查iterable的过程中发现了enumerate函数,再来做个enumerate函数的笔记,enumerate可以把一个list变成 索引-元素 对,这样可以在for循环中同时迭代索引和元素本身;

for i,value in enumerate(['q','s','e']):
    print(i,value)

3、打乱输出一个list,用shuffle( )函数;

from random import shuffle
list=[1,2,3,4,5]
shuffle(list)
print(list)

4、要输出一个由数字组成的list的所有排序,用itertools模块中的permutations方法:

import itertools
print(list(itertools.permutations([1,2,3])))

5、将一个list转化为字符串,用join函数,join函数用来连接字符。

6、将几个list合并为1个list,用itertools模块中的chain函数:

import itertools
l1=[[1,2,3],[2,3].[9,0]]
l2=list(itertools.chain(*l1))
print(l2)

7、从一个list中随机选出一个元素,用random模块中的choice函数:

import random
list1=[1,2,3,4]
print(random.choice(list1))

8、比较两个list的循环是否相等,先用map函数将list中的每个元素转换为str,map(str,list),map函数的用法是map(函数f,可迭代对象)将f作用于可迭代对象的每个元素,然后用join函数连接,然后判断第一个list的字符串在不在第二个list形成的字符串*2中:

list1=[10,10,0,0,10]
list2=[10,10,10,0,0]
print(' '.join(map(str,list1) in ' '.join(map(str,list2*2)))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值