1. 列表

1.1 列表的介绍

列表是python的基础数据类型之⼀,其他编程语⾔也有类似的数据类型。比如JS中的数组, java中的数组等等。它是以[ ]括起来,每个元素⽤','隔开⽽且可以存放各种数据类型:

lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我
叫":"dict字典"},{"我叫集合","集合"}]

列表相比于字符串,不仅可以存放不同的数据类型,⽽且可以存放⼤量的数据。32位python可以存放: 536870912个元素, 64位可以存放: 1152921504606846975个元素,⽽且列表是有序的(按照你保存的顺序),有索引,可以切⽚⽅便取值。

1.2 列表的索引和切片

列表和字符串⼀样也拥有索引:

lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
print(lst[0]) # 获取第⼀个元素
print(lst[1])
print(lst[2])
lst[3] = "流动强" # 注意. 列表是可以发⽣改变的. 这⾥和字符串不⼀样
print(lst) # ['麻花藤', '王剑林', '⻢芸', '流动强', '向华强']
s0 = "向华强"
s0[1] = "美" # TypeError: 'str' object does not support item assignment 不允许改变
print(s0)

列表的切片:

lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
print(lst[0:3]) # ['麻花藤', '王剑林', '⻢芸']
print(lst[:3]) # ['麻花藤', '王剑林', '⻢芸']
print(lst[1::2]) # ['王剑林', '周鸿医'] 也有步⻓
print(lst[2::-1]) # ['⻢芸', '王剑林', '麻花藤'] 也可以倒着取
print(lst[-1:-3:-2]) # 倒着带步⻓

1.3 列表的增删改查

1.3.1 添加

注意,list和str是不⼀样的。list可以发⽣改变,所以直接就在原来的对象上进⾏了操作

lst = ["麻花藤", "林俊杰", "周润发", "周芷若"]
print(lst)
lst.append("wusir")
print(lst)

lst = []
while True:
  content = input("请输⼊你要录⼊的员⼯信息, 输⼊Q退出:")
  if content.upper() == 'Q':
     break
   lst.append(content)
print(lst)

lst = ["麻花藤", "张德忠", "孔德福"]
lst.insert(1, "刘德华") # 在1的位置插⼊刘德华. 原来的元素向后移动⼀位
print(lst) # 迭代添加
lst = ["王志⽂", "张⼀⼭", "苦海⽆涯"]
lst.extend(["麻花藤", "麻花不疼"])
print(lst)

1.3.2 删除

pop, remove, clear, del

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
print(lst)
deleted = lst.pop() # 删除最后⼀个
print("被删除的", deleted)
print(lst)

el = lst.pop(2) # 删除2号元素
print(el)
print(lst)

lst.remove("麻花藤") # 删除指定元素
print(lst)
# lst.remove("哈哈") # 删除不存在的元素会报错
# # print(lst)

lst.clear() # 清空list
print(lst) # 切⽚删除
del lst[1:3]
print(lst)

1.3.3 修改

索引切片修改

# 修改
lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天"]
lst[1] = "太污" # 把1号元素修改成太污
print(lst)

lst[1:4:3] = ["麻花藤", "哇靠"] # 切⽚修改也OK. 如果步⻓不是1, 要注意. 元素的个

print(lst)

lst[1:4] = ["李嘉诚个⻳⼉⼦"] # 如果切⽚没有步⻓或者步⻓是1. 则不⽤关⼼个数
print(lst)

1.3.4 查询

列表是一个可迭代对象,所以可以进行for循环

for el in lst:
  print(el)

1.3.5 其他操作

lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
c = lst.count("太⽩") # 查询太⽩出现的次数
print(c)

lst = [1, 11, 22, 2]
lst.sort() # 排序. 默认升序
print(lst)
lst.sort(reverse=True) # 降序
print(lst)

lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
print(lst)
lst.reverse()
print(lst)

l = len(lst) # 列表的⻓度
print(l)

1.4 列表的嵌套

采⽤降维操作,⼀层⼀层的看就好。

lst = [1, "太⽩", "wusir", ["⻢⻁疼", ["可⼝可乐"], "王剑林"]]

# 找到wusir
print(lst[2])

# 找到太⽩和wusir
print(lst[1:3])

# 找到太⽩的⽩字
print(lst[1][1])

# 将wusir拿到. 然后⾸字⺟⼤写. 再扔回去
s = lst[2]
s = s.capitalize()
lst[2] = s
print(lst)
# 简写
lst[2] = lst[2].capitalize()
print(lst)

# 把太⽩换成太⿊
lst[1] = lst[1].replace("⽩", "⿊")
print(lst)

# 把⻢⻁疼换成⻢化疼
lst[3][0] = lst[3][0].replace("⻁", "化")
print(lst[3][0])

lst[3][1].append("雪碧")
print(lst)

2. 元组

元组: 俗称不可变的列表,⼜被成为只读列表。元组也是python的基本数据类型之⼀,⽤⼩括号括起来,⾥⾯可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能改。

tu = (1, "太⽩", "李⽩", "太⿊", "怎么⿊")
print(tu) print(tu[0])
print(tu[2])
print(tu[2:5]) # 切⽚之后还是元组

# for循环遍历元组
for el in tu:
   print(el) # 尝试修改元组
# tu[1] = "⻢⻁疼" # 报错 'tuple' object does not support item assignment

tu = (1, "哈哈", [], "呵呵")
# tu[2] = ["fdsaf"] # 这么改不⾏

tu[2].append("麻花藤") # 可以改了. 没报错
tu[2].append("王剑林")
print(tu)

关于不可变,注意: 这⾥元组的不可变的意思是⼦元素不可变,⽽⼦元素内部的⼦元素是可 以变,这取决于⼦元素是否是可变对象。元组中如果只有⼀个元素,⼀定要添加⼀个逗号,否则就不是元组。

tu = (1,)
print(type(tu))

元组也有count(), index(), len()等⽅法. 可以⾃⼰测试使⽤。

3. range

range可以帮我们获取到⼀组数据,通过for循环能够获取到这些数据。

for num in range(10):
   print(num)
for num in range(1, 10, 2):
   print(num)
for num in range(10, 1, -2): # 反着来, 和切⽚⼀样
   print(num)

python基础(7):基本数据类型二(list、tuple)、range的更多相关文章

  1. 二.Python基础语法和数据类型

    Python第二节 基础语法和数据类型 Python编码 python3默认情况下源码文件以UTF-8编码, 字符串均为unicode字符串.同时也可以通过# -*- coding: cp-1252 ...

  2. Python基础学习笔记(二)变量类型

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  3. Python基础(2) - 动态数据类型

    Python是一门强类型语言,单定义变量时不需要制定类型. C#这样定义变量: ; VB这样定义变量: Python不需要制定类型,给变量赋什么类型的值,它就是什么类型.(穿神马就是神马?) > ...

  4. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

  5. python基础知识之数据类型

    一.与用户的交互 古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他, 然后他去进行验证,成功后,我们再将取款金额输入/告诉他 骄傲的现代人,会为客户提供一台ATM机(就是一 ...

  6. (Python基础教程之十二)Python读写CSV文件

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  7. Python基础语法和数据类型最全总结

    摘要:总结了Python最全基础语法和数据类型总结,一文带你学会Python. 本文分享自华为云社区<Python最全基础语法和数据类型总结>,原文作者:北山啦 . 人生苦短,我用Pyth ...

  8. Python基础教程总结(二)

    上周总结了一下Python的一些基本数据类型和用法.这次总结一下4-9章的内容,完后,赶紧学以致用吧. 5. 第四章——字典:当索引不好用时 字典是Python中唯一内建的映射类型.字典中的值并没有特 ...

  9. 第二章(1.5)Python基础知识(数据类型)

    一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 用len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...

随机推荐

  1. cookie及其特点

    关于cookie我们首先要知道cookie是指会话跟踪技术 我们可以用它来做一下事情,但是我们需要清楚cookie是不安全的 功能: 会话状态管理(如用户登录状态.购物车.游戏分数和其它需要记录的信息 ...

  2. Linux平台 Oracle 19c RAC安装Part3:DB配置

    Linux平台 Oracle 19c RAC安装Part3:DB配置 四.DB(Database)配置 4.1 解压DB的安装包 4.2 DB软件配置 4.3 ASMCA创建磁盘组 4.4 DBCA建 ...

  3. C# Xamarin 数据绑定入门基础

    目录 关于数据绑定 视图-视图绑定 绑定模式 简单的集合绑定 C# Xamarin 数据绑定入门基础 关于数据绑定 Xamarin 单向.双向绑定 Xaml绑定 C#代码绑定 在此之前,几段 伪代码 ...

  4. Python实现一个键对应多个值的字典(multidict)

    一个字典就是一个键对应一个单值的映射.如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面.比如,你可以像下面这样构造这样的字典: d = { 'a' : [1, ...

  5. Flask 教程 第七章:错误处理

    本文翻译自The Flask Mega-Tutorial Part VII: Error Handling 这是Flask Mega-Tutorial系列的第七部分,我将告诉你如何在Flask应用中进 ...

  6. VMware虚拟机安装centos7

    镜像下载地址:http://www.linuxdown.net/ 在vmware上开始安装CentOS系统,点击菜单新建虚拟机,进入如下图步骤进行操作.   接着进行自定义硬盘操作   最后虚拟机就创 ...

  7. wireshark和tcpdump抓包TCP乱序和重传怎么办?PCAP TCP排序工具分享

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍TCP排序方法,分享一个Windows版的TCP排序工具." 在分析协议的过程中,不可避免地需要抓包. 无论抓包条件如何优越, ...

  8. 【转载】Android内存泄漏的8种可能

    Java是垃圾回收语言的一种,其优点是开发者无需特意管理内存分配,降低了应用由于局部故障(segmentation fault)导致崩溃,同时防止未释放的内存把堆栈(heap)挤爆的可能,所以写出来的 ...

  9. RDIFramework.NET敏捷开发框架 ━ 工作流程组件Web业务平台

    接前两篇: RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍 RDIFramework.NET敏捷开发框架 ━ 工作流程组件WinForm业务平台 1.RDIFramework.NE ...

  10. 模块二之序列化模块以及collections模块

    模块二之序列化模块以及collections模块 一.序列化模块 json模块 ''' 序列化:将python或其他语言的数据类型转换成字符串类型 json模块: 是一个序列化模块. json: 是一 ...