• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






IT小猿

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

python列表

PYTHON列表

python列表

list = ['python','Jave','H5','C++',1,2,3,4,5,6] 列表中可以是字符串,也可以是数字。字符串要放在英文的引号中才可以;

        names = ['Python', 'Java', 'H5', 'C++']
        print(names)
        print(type(names))   #type()函数是显示类型的,在这个代码里面names为列表,下面出来的值便是list。

结果为    ['Python', 'Java', 'H5', 'C++']
        <class 'list'>
用 len() 可以获得列表的长度
print(len(names))
# 4

列表切片

ns = [1,2,3,4,5,6,7,8,9,10]
print(ns[1])           #ns为列表  1为列表索引

print(ns[1:7])  #ns为列表 1:7是指索引 1~7
print(ns[1:7:1]) 
print(ns[1:7:2])   #ns为列表 1:7:2 是指从1~7每隔1个后面的值输出,且范围索引1~7中索引7取不到,像数学中的 【1~7)

结果为      2
        [2, 3, 4, 5, 6, 7]
        [2, 3, 4, 5, 6, 7]
        [2, 4, 6]

添加元素

使用 append() 在末尾添加元素。

使用 extend ( [ ] )在末尾添加一批元素。

使用 insert() 在任意索引位置之前插入元素。

与大多数据编程语言不同:Python支持负数索引!

names=[1,2,3]
names.append(4)
print(names)

[1, 2, 3, 4]

names.insert(-1, 'BigData')
print(names)

[1, 2, 3, 'BigData', 4]

names.extend([1,2,3])
print(names)

[1, 2, 3, 'BigData', 4, 1, 2, 3]

修改列表

names[1] = 'JS'                         #names是列表,中括号里面是列表元素索引,后面是列表索引对应要修改的值。
print(names)

names[3:5] = [1,2,3,4,5,6,]       #索引3~5的值替换为括号内的值,【3~5) 从3开始到4结束。
print(names)

[1, 'JS', 3, 'BigData', 4, 1, 2, 3]
[1, 'JS', 3, 1, 2, 3, 4, 5, 6, 1, 2, 3]

列表删除元素

names = [1, 'JS', 3, 1, 2, 3, 4, 5, 6, 1, 2, 3]

del names[4]      #原理同修改一样。
print(names)

del names[4:8]
print(names)

[1, 'JS', 3, 1, 3, 4, 5, 6, 1, 2, 3]

[1, 'JS', 3, 1, 1, 2, 3]

names.remove(1) #括号里面是列表元素,根据元素删除列表元素

print(names)

['JS', 3, 1, 1, 2, 3]

删除的同时返回被删除的数据

不传参数时删除最后1个

result = names.pop(0)  #括号中的 0 为names列表中的索引
print(names)
print(result)

'JS', 3, 1, 1, 2, 3]
1

清空列表

temp = [1,2,3,4]
print(temp)
temp.clear()   #清空。
print(temp)

[1, 2, 3, 4]
[]   #结束后列表为空。

搜索元素的位置

names = [1,2,3,4,5]
print(names.index(5))   # index()括号中是列表的值。

4   #返回的是列表元素的索引。

还支持指定搜索范围

data.index(target, start, end)

 

列表的运算符

  • + 运算符进行连接
  • * 运算符复制n倍
  • in 运算符判断数据是否在列表中
courses = ['微积分', '线性代数', '概率统计']
names = [1, 2, 3, 4]


all = names + courses
print(all)
[1, 2, 3, 4, 5, '微积分', '线性代数', '概率统计']

print(courses * 3)
abcabcabc

print('微积分' in courses)
True

与列表相关的全局函数

ns = [1,2,3,4,5,6,7,8,9,10]
print(min(ns))    #最大

print(max(ns))  #最小

1
10

其它函数

  • data.copy() 复制
  • data.reverse() 反转
  • data.sort(cmp=None, key=None, reverse=False) 排序

data = [1,2,3,4]
list_name = ['ww','读书','写作']
list_name.reverse() 
print(list_name)


['写作', '读书', 'ww']

data = [1,2,3,4]
#data.sort(cmp=lambda, key=lambda, reverse=True)
data.sort( reverse=True)
print(data)

[4, 3, 2, 1]

意思是sort方法接受三个参数,都可以省略,默认是升序排序。

第一个参数cmp 是 比较函数,两个参数(列表的元素)怎样比较,对于整数这种内置类型的比较,方法很直观,但是对于自定义类型的比较,就要自己定义比较函数了,函数返回 0 ,就是两个数相等,返回负数,就是第一个参数小,第一个参数就排在第二个参数后面了。

第二个参数 key 是比较列表元素的什么属性。

第三个参数reverse是bool型,意思是是否反转(倒序排序)

发表于 2018-08-01 21:43  IT小猿  阅读(190)  评论(0)    收藏  举报
 
刷新页面返回顶部