列表

列表的介绍 

  列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.

列表的索引和切片

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

lst = ['刘德华','周润发','周杰伦','向华强']
print(lst[]) # 列表中第一个元素
print(lst[]) # 列表中第二个元素
print(lst[]) # 列表中第三个元素 注意:列表是可以进行修改的,这里和字符串不一样 lst[] = '王健林'
print(lst) s = '王思聪'
s[] = '李'
print(s) 结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
s[] = '李'
TypeError: 'str' object does not support item assignment

列表的切片:

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

 

列表的增删改查

1. 增

注意  list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作

追加模式

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

 

插入模式

lst = ["麻花藤", "张德忠", "孔德福"]
lst.insert(, "刘德华") # 在1的位置插入刘德华. 原来的元素向后移动一位
print(lst)

迭代添加

# 迭代添加
lst = ["王志文", "张一山", "苦海无涯"]
lst.extend(["麻花藤", "麻花不疼"])
print(lst)

2. 删除

pop 通过下标删除元素(默认删除最后一个)

lst = ["麻花藤", "王剑林林", "李李嘉诚", "王富贵"]
print(lst)
lst.pop() deleted = lst.pop()
print('被删除的',deleted)
print(lst) el = lst.pop() # 删除下标位2的元素
print(el) # 被删除的元素
print(lst)

remove 通过元素删除

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
lst.remove('王剑林')
print(lst) 结果:
['麻花藤', '李嘉诚', '王富贵'] lst.remove('哈哈') # 删除不存在的元素
结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
lst.remove('哈哈') # 删除不存在的元素
ValueError: list.remove(x): x not in list

clear  清空

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
lst.clear()
print(lst) 结果:
[]

修改

索引切片修改

# 修改
lst = ["太白", "太黑", "五色", "银王", "⽇天"]
lst[] = "太污" # 把1号元素修改成太污 print(lst)
lst[::] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个 数
print(lst)
lst[:] = ["我是哪个村的村长王富贵"] # 如果切片没有步长或者步长是1. 则不用关心个数
print(lst)

查询  

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

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]

for i in lst:
print(i) 结果:
麻花藤
王剑林
李嘉诚
王富贵

其他操作

反转

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

li.reverse()  # 把这个列表进行调转
print(li)

排序  

li = [,,,,,,,,,,,]
li.sort() # 升序 排序
print(li) li.sort(reverse=True) # 降序 排序
print(li)

统计

li = [,,,,,,,,,,,]
num = li.count() # 统计元素3出现的次数,和字符串中功能一样
print(num)

通过元素获取下标

li = [,,,,,,,,,,,]
n = li.index()
print(n)

获取长度

li = [,,,,,,,,,,,]
print(len(li)) 结果:
 

列表的嵌套

注意:采用降维操作,一层一层的看就好

lst = [,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]

# 找到wusir
print(lst[]) # 找到太白和wusir
print(lst[:]) # 找到太白的白字
print(lst[][]) # 将wusir拿到,然后首字母大写 在扔回去 s = lst[]
s = s.capitalize()
lst[] = s
print(lst) # 简写
lst[] = lst[].capitalize()
print(lst) # 把太白换成太黑
lst[] = lst[].replace('白','黑') # 把麻花疼换成麻花不疼
lst[][] = lst[][].replace('疼','不疼')
print(lst) # 在可口可乐后边添加一个雪碧
lst[][].append('雪碧')
print(lst)

元祖

元祖:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,用小括号

括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.

tu = ('我','怎么','这么','可爱')

tu1 = tu[]  # 记性下标
print(tu1) for i in tu:
print(i) # 进行for循环 tu2 = tu[:]
print(tu2) # 进行切片 结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
tu[] = '你'
NameError: name 'tu' is not defined

关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.

元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

tu = ()
print(type(tu)) 结果:
<class 'int'>

元祖嵌套  

tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子说和姐夫还提钱'))
tu1 = tu[]
tu2 = tu[]
tu3 = tu[][]
tu4 = tu[][] print(tu1)
print(tu2)
print(tu3)
print(tu4) 结果:
今天姐姐不在家
姐夫和小姨子在客厅聊天
姐夫问小姨子税后多少钱
小姨子说和姐夫还提钱 

python基础学习笔记——列表及元组的更多相关文章

  1. python 基础学习3 列表和元组 、字符串

    作为小白,坚持每日写学习记录,是督促坚持学习的动力, 今天主要是学习 列表和元组,列表是可以修改的,元组是不可变的.列表和元组的索引都是从0开始 列表可以修改, 可以对列表进行赋值,修改移除等各种方法 ...

  2. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

  3. python基础学习笔记——列表技巧

    列表: 循环删除列表中的每⼀个元素 li = [, , , ] for e in li: li.remove(e) print(li) 结果: [, ] 分析原因: for的运⾏过程. 会有⼀个指针来 ...

  4. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  5. python 基础学习笔记(3)--列表与元组

    **本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...

  6. Python基础学习笔记(七)常用元组内置函数

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

  7. Python基础学习笔记(六)常用列表操作函数和方法

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

  8. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  9. python 基础学习笔记(6)--函数(2)

                                                                                                        ...

随机推荐

  1. plsql连接远程数据库快捷方式

    不用修改任何文件就可以直接连接远程数据库

  2. css3动画:animation

    例: -webkit-animation: myfirst 5s linear 2s infinite alternate; animation: myfirst 5s linear 2s infin ...

  3. vue-quill-editor上传内容由于图片是base64的导致字符太长的问题解决

    vue-quill-editor是个较为轻量级富文本框,相较于ueditor,开发更编辑,更加直观,如果大家伙在需求允许的情况下,还是会比较建议使用vue-quill-editor vue-quill ...

  4. 《超实用的Node.js代码段》连载二:正确拼接Buffer

    对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学.重要性也不是那么突出.其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出 ...

  5. js字符串与十六进制之间的转换

    在寻找加密解密的时候看到一个方法,代码图片转换.原理为:字符可以转为16进制,与图片RGB的一个R/G/B相对应,即一个像素点可容纳3个字符(注:Canvas的RGBA,透明度A似乎不能使用,使用后, ...

  6. RK3288开发过程中遇到的问题点和解决方法之Kernel

    修改背光改变区间 kernel\drivers\video\backlight\pwm_bl.c static int pwm_backlight_update_status(struct backl ...

  7. python+selenium之处理HTML5的视频播放

    from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get(" ...

  8. 2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) A Amusing Numbers (数学)

    其实挺简单的.先直接算出之前已经排在k这个数前面的数字.比如543是三位的,那么100~543都是可以的,两位的10~54. 如果还需要往前面补的话,那么依次考虑1000~5430,5430是上界不能 ...

  9. [学习笔记] SSD代码笔记 + EifficientNet backbone 练习

    SSD代码笔记 + EifficientNet backbone 练习 ssd代码完全ok了,然后用最近性能和速度都非常牛的Eifficient Net做backbone设计了自己的TinySSD网络 ...

  10. ubuntu k8s 命令补全

    apt install bash-completion // locate bash_completion source /usr/share/bash-completion/bash_complet ...