Python 学习 1-列表

一、

type(list1)输出 <class a的类型(如 int)>;
bin(list1)是输出二进制数的;
enumerate()函数:

a= ['Spring','Summer','Fall','Winter']
lst = list(enumerate(list1))
print(lst) #[(0,'Spring'),(1,'Summer'), (2, 'Fall'),(3,'Winter')]
lst = list(enumerate(a, start=1))  # 下标从 1 开始
print(lst) #[(1,'Spring'),(2,'Summer'),(3, 'Fall'),(4,'Winter')]

二、表

表(list)可以被修改
(1) 表的创建

  1. 直接创建
 list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(x, type(x))
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] <class 'list'>
  1. range创建
list1=list(range(10))
print(list1, type(x))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <class 'list'>
  1. 推导式
list1=[312,432,65]*3
  print(list1) #[312, 432, 65, 312, 432, 65, 312, 432, 65]
list1=[0 for i in range(4)]
 print(list1) #[0, 0, 0, 0]
list1=[i for i in range(9,67,8)]
  print(list1) #[9, 17, 25, 33, 41, 49, 57, 65]
list1=[i **2 for i in range(3,8,2)]
  print(list1) #[9, 25, 49]
list1=[i for i in range(100) if(i%2!=0 and i%3==0)]
  print(list1) #[3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]

(2)表中元素的添加

  1. append (所添加的内容被当作一个组)
list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.append(['Thursday', 'Sunday'])
print(list1)  
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', ['Thursday', 'Sunday']]
print(len(list1))  # 6
  1. **extend(**所添加的内容是单独独立的)
list1= ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.extend(['Thursday', 'Sunday'])
print(list1)  
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday', 'Sunday']
print(len(list1))  # 7
  1. insert(是在给定位置上添加个整体元素)。
list1=['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
list1.insert(2, 'Sunday')
print(list1)
# ['Monday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday'
print(len(list1))  # 6

(3)表中元素的删除

  1. remove(删除表中出现给定值的第一个匹配项,返回剩余元素)
list1=[1,2,3,4,5]
list1.remove(1)
print(list1) #[2,3,4,5]
  1. pop(移除给定位置的元素,返回被移除元素)
list1=['huawei','honor','xiaomi']
b=list1.pop(0)
c=list1.pop(-1)
print("b=",b,"c=",c) #b= huawei c= xiaomi
  1. del(移除范围之间的元素,返回剩余元素,上组限不在内)
 list1=['p','a','d','x']
print(list1) #['p', 'a', 'd', 'x']
del list1[0:1]
print(list1) #['a', 'd', 'x']
del list1[-3:-1]
print(list1) #['x']

(4)表中元素的获取

  1. 直接获取
list1=['a','z','x','d']
print(list1[0]) #a
print(list1[-1]) #b
  1. “start:”(默认步长为1,往后边获取)
list1=[1,23,56,45]
print(list1[1:]) #[23, 56, 45]
print(list1[-2:]) #[56, 45]
  1. “:stop”(默认步长为1,往后边获取)
list1=[321,432,656,756]
print(list1[:3]) #[321, 432, 656]
print(list1[:-3]) #[321]
  1. “start:stop”(默认步长为1,上组限不在内)
list1=[3213,5364,'gdf','ftere']
print(list1[1:3]) #[5364, 'gdf']
print(list1[-3:-1]) #[5364, 'gdf']
  1. “start:stop:step”(上组限不在内,当start和stop都没有,step=-1时就相当于把表逆排序)
list1=[31231,365731,647285,42323,'dasdaouh','rerew3','sf4684']
print(list1[1:5:2]) #[365731, 42323]
print(list1[:4:3]) #[31231, 42323]
print(list1[1::4]) #[365731, 'rerew3']
print(list1[::-1]) #['sf4684', 'rerew3', 'dasdaouh', 42323, 647285, 365731, 31231]
  1. “:”(相当于全部复制,浅拷贝)
list1=['dasdad','fdsfsf',34242,32442]
print(list1[:]) #['dasdad', 'fdsfsf', 34242, 32442]

(5)其他

  1. 数表中某个元素出现的个数
    count
list1=[321,'dadad','adad3']*2
print(list1) #[321, 'dadad', 'adad3', 321, 'dadad', 'adad3']
num=list1.count(321)
print(num) #2
  1. 找某个值第一次出现的位置
    index
list1=[123,'asda']*5
print(list1) #[123, 'asda', 123, 'asda', 123, 'asda', 123, 'asda', 123, 'asda']
print(list1.index(123)) #0
print(list1.index(123,2)) #2
print(list1.index(123,5,9)) #6
  1. 反向表
    reverse
list1= [123, 456, 789]
list1.reverse()
print(list1)  # [789, 456, 123]
  1. 对表的序列进行排序
    sort (key是对其中哪个进行排序,reverse是规定了是升序还是降序)
    sort(key=,reverse=) (reverse=True时降序,reverse=False时升序(默认))
    def 是用来定义一个函数的
list1=[123123,3242,54353,]
list1.sort(reverse=True)
print(list1) #[123123, 54353, 3242]

list2=[(3,4),(434,52),(456,678)]
def takesecond(c):
    return c[1]
list2.sort(key=takesecond,reverse=True)
print(list2) #[(456, 678), (434, 52), (3, 4)]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值