Python学习笔记之列表

来源:互联网 发布:新歌声网络战队视频 编辑:程序博客网 时间:2024/05/21 10:15

闲暇之余,想看看Python的世界是个什么样子,毕竟现在这门语言十分的火热,有着大量的学习资料以及参考书。今天看完了Head First Python,当然里面的大量的练习并没有完成,不过总体的感觉就是这门语言很强大,特别是对数据的处理方面好像有着很大的优势,于是开启了真正的学习之旅,这本笔记不知道能够写到那个阶段,且学且记录吧。

什么是列表

可以理解为其他编程语言中的数组,有着各种各样非常方便的操作。Python的数组十分的灵活,里面可以包含任何的数据类型,元素与元素之间可以没有任何的关系,也没有类型的依赖。

定义列表

使用方括号[] 来表示列表,例如:

name = ['Bob','Peter',3,['Hello','World']]

访问列表元素

使用列表变量加上索引:

name[2]

注意索引从0开始,和其他语言的数组类似,2表示列表中第三个元素。

修改列表元素

name[0]="Frank"

添加列表元素

  • 末尾添加

    name.append("Godlike")

    末尾添加一个新元素。

  • 插入到具体位置

    name.insert(2,"Darrin")

    在第三个元素前插入。

删除列表中的元素

  • 删除指定位置的元素

    del name[2]

    删除列表中第三个元素。

  • 删除最后一个元素

    del_element=name.pop()

    删除最后一个元素,并且可以直接使用。当然pop也可以删除任何位置的元素,需要指定具体位置。

  • 根据值删除

    name.remove("Frank")

    删除列表中值是Frank 的元素。

对列表进行操作

  • 排序 - sort()

    new_list = ['张三','李四','Frank','Darrin']print(new_list)new_list.sort()print(new_list)

    输出:

    2017-12-15_10-36-43.png

    问题:对于中英文混搭的列表,排序错乱,如何解决?

    网络答案:http://gerry.lamost.org/blog/?p=338

  • 排序 - sorted()

    复制一个排序后的列表,原列表保持不变。

    new_list = ['张三','李四','Frank','Darrin']another_list = sorted(new_list)print(new_list)print(another_list)
  • 反转 - reverse()

    new_list = ['张三','李四','Frank','Darrin']new_list.reverse()

    输出:

    ['Darrin', 'Frank', '李四', '张三']

  • 列表的长度 - len()

    length=len(name)

  • 遍历 - for

    new_list = ['张三','李四','Frank','Darrin']for item in new_list:  print(item)
  • 部分访问 - 使用索引范围

    从指定的开始位置开始遍历,到达指定位置的前一个元素结束。

    new_list = ['张三','李四','Frank','Darrin']print(new_list[1:3])

    输出为:

    ['李四', 'Frank']

  • 复制列表

    old_list = ['张三','李四','Frank','Darrin']new_list = old_list[:]

特殊列表

  • 数值列表 - range()

    存储一组数字,python提供很多工具,可以帮助我们有效的处理数字列表。

    • 创建

    numbers=list(range(1,9))

    定义一组1到8的数字,注意,是到8而不是9。

    • 定义步长
    numbers=list(range(1,11,2))print(numbers)

    输出结果:

    [1, 3, 5, 7, 9]

    • 统计
    numbers=list(range(1,20,3))print(numbers)print(min(numbers))print(max(numbers))print(sum(numbers))

    输出结果:

    2017-12-15_12-59-08.png

  • 元组 - tuple

    1. 元组的元素不能修改
    2. 元组的创建使用小括号()
    3. 元组的访问和列表相同
    4. 元组中的元素不能删除
    5. 如果元组中只有一个元素,需要添加一个逗号结尾
    tup = (10,15,20)print(tup)tup = (20,30,40)print(tup)# tup[0] = 60# print(tup)# Traceback (most recent call last):#   File "list.py", line 86, in <module>#     tup[0] = 60# TypeError: 'tuple' object does not support item assignment
  • 字典 - dictionary

    字典是一系列key-value的匹配列表,每一个key都和一个value匹配,与Key相关的值可以使任何的python对象。字典使用{}来定义,key和value之间使用”:”进行分隔。

    print('字典练习')dic={'color':'red','age':25,'hobby':['basketball','football']}print(dic)#按key取得valueprint(dic['color'])#修改字典中的对象,没有则添加dic['color'] = 'blue'dic['name'] = 'bob'print(dic)#删除del dic['name']print(dic)#遍历字典for key,value in dic.items():  print('\nKey: ' + key)  print('value: ' + str(value))#遍历字典中的keyfor key in dic.keys():  print(key.title())#字典中存储字典 - JSONplants={  'address':{      'city':'Shanghai',      'street':'zhangjiang',  },  'products':{      'name':'pc',      'price': 1234,  },}print(plants['address']['city'])
  • 集合 - set()

    类似于列表,但是每个元素必须唯一。

    集合是无序的,不能通过索引进行访问。

    print('集合测试')set1=set('good morning')set2=set('good afternoon')print(set1)print(set2)print(set1 & set2) #交集print(set1 | set2) #并集print(set1 - set2) #差集print(set1 ^ set2) #对称差集

    测试结果:

    2017-12-15_13-42-02.png

结语

基本的操作语句就不详细的做笔记了,基本上和其他的编程语言没有什么太大的区别。

接下来学习函数和类。

原创粉丝点击