一、list

list可以存放各种类型的数据,与java中list类差不多,比如li = ['keith', 1, True, [1, 2, 3], {name: 'tangtang', age: 18}];

并且列表是有序的、有索引的、可切片、方便取值。

基本索引与切片类似str。

列表的基本操作

  • append()  --  追加一个元素0
  • extend()  --  追加多个元素,extend的参数必须是可迭代的对象,否则报错。例:
# extend
list = ['Mary', 'Sue', 'Lily']
list.extend('Smith')
print(list) list = ['Mary', 'Sue', 'Lily']
list.extend(('Zet', 'Bob'))
print(list) list = ['Mary', 'Sue', 'Lily']
list.extend({'name': 'Ann', 'name': 'John', 'age': 20})
print(list)

结果:

  • insert()  --  插入一个元素,插入的位置为参数之前。

  • pop()  --  按索引取出,默认取最后一个,返回取出的元素
  • remove()  --  按元素删除,无返回值
  • clear()  --  清空列表
  • del 关键字  --  删除列表,也可切片删除,例:
li = ['Mary', 'Sue', 'Lily', 'Harry', 'Nancy']
del li[2:4]
print(li)
del li
print(li)

结果:

  • 直接使用下标:li[1] = XX
  • 切片修改,例:
# 切片修改会删除索引内的元素,然后在切片位置将可迭代的对象迭代插入
li = ['Mary', 'Sue', 'Lily', 'Harry', 'Nancy']
li[2:4] = 'Sally'
print(li)

结果:

  • for循环查,基本代码:
for i in 列表:
print(i)
  • 切片查,如:li[2:9]

其他操作

  • sort() -- 排序,从小到大,sort有一个参数reverse,默认为False,设置为True倒序排序,例:
li = [2, 5, 1, 8, 5, 9, 4]
li.sort(reverse=True)
print(li)

结果:

  • reverse() -- 反转,例:
li = [2, 5, 1, 8, 5, 9, 4]
li.reverse()
print(li)

结果:

二、tuple

元祖,被称为只读列表,只能查询,不能修改。但存在特殊情况,如:

t = (2, 'lala', [2, 0, 3, 8, 1], 'yangmeme  ', ('fea', 2, 0))
t[2][3] = 12
t[2].append('hei')
print(t)
t[3] = t[3].upper()
print(t)

结果:

三、公共方法

  • len()
  • count()
  • index()  注:列表中没有find()方法,查询某元素只能用index(),查询不到报错
  • str.join(sequence)  --  将序列中的元素以指定的字符连接生成一个新的字符串,序列不能是数字序列。可以用来做列表元祖等转换成字符串,str()也可以做转换,但仅仅只是在外层加个引号而已。例:
#join
l = ['糖糖', '酥酥', 'yang', 'jian']
print('++'.join(l))
s = 'AAAAA'
print('a'.join(s))
t1 = ('', '', '', '', '')
t2 = (1, 3, 5, 6, 9)
print('*'.join(t1))
print('*'.join(t2))

结果:

四、range()

range()  --  函数可创建一个整数列表,一般用在 for 循环中,例:

for i in range(3, 8):
print(i)

结果:

range(首, 尾, 步长) ,若以0为开头,0可省略

五、小知识

python2在编译安装时,可以通过参数 --enable-unicode=ucs2 或 --enable-unicode=ucs4 分别用于指定使用2个字节、4个字节表示一个unicode字符;python3无法进行选择,默认使用ucs4。

查看当前python中表示unicode字符串时占用的空间:

import sys
print(sys.maxunicode)
# 如果值是 65535,则表示使用ucs2标准,即:2个字节表示
# 如果值是 1114111,则表示使用ucs4标准,即:4个字节表示

最新文章

  1. LeetCode: 3Sum
  2. JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)
  3. Android开发学习之路-二维码学习
  4. SQL Server 2014新特性探秘(2)-SSD Buffer Pool Extension
  5. 磁盘操作系统(DOS)
  6. python操作SQL
  7. 学习日记-发布第一篇WordPress
  8. Html5 Egret游戏开发 成语大挑战(六)游戏界面构建和设计
  9. iPad开发--iPad中modal的更多用法
  10. MySQL的字符集
  11. DataGuard主备归档存在gap的处理办法
  12. Flume+kafka+storm+hdfs
  13. Spring框架中的IOC和DI的区别
  14. Qemu下安装Sun Solairs8简明教程 转
  15. Ionic 应用图标,信息修改
  16. C++算法接口使用参考
  17. Vue之八 HTML5 History模式
  18. 深入理解group by 语句的执行顺序 from→where→group by→select(含聚合函数)
  19. How do I learn machine learning?
  20. Python语法注意点

热门文章

  1. Web大文件上传控件-示例更新-Xproer.HttpUploader6.2
  2. 编写高质量代码改善C#程序的157个建议——建议8: 避免给枚举类型的元素提供显式的值
  3. XE下的FMX中压缩图片
  4. PHP foreach引用&
  5. MVC中的Controllers和View分别放到单独的项目中
  6. C#多线程编程实战1.7前台线程和后台线程
  7. .NET Core Api 集成 swagger
  8. Kotlin 函数
  9. 「BZOJ 2809」「APIO 2012」Dispatching「启发式合并」
  10. 80端口被system(pid=4)占用