four day

基本数据类型(list,tuple)

一丶列表

1.1列表的介绍

  列表是python中的基本数据类型之一,其他编程语言也有类似的数据类型,如js 中的数组,java中的数组等等,它是以[]括起来每个元素用' , '隔开而且可以存放各种数据类型:

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

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

2.2列表的索引和切片

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

1 lst = ["海上钢琴师", "奥特曼", "咒怨", "舌尖上的中国", "穹顶之下", "金刚"]
2 print(lst[3][2]) #
3 print(lst[-2])  # 穹顶之下
4 print(lst[1:4])  # ['奥特曼', '咒怨', '舌尖上的中国']
5 print(lst[-3:-1]) # 顾头不顾尾
6 print(lst[1::2])
7 print(lst[-1:-5:-2])
View Code

 列表的切片:

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

二丶列表的增删改查

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

1 lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
2 # 在屁股后面添加
3 lst.append("黄宏") # 在原有的基础上进行的操作
4 # 在xxx位置插入xxxx内容
5 lst.insert(1,"王力宏")
6 lst.extend(["麻花藤", "马云", "王健林", "许家印"]) # 迭代添加
7 print(lst)
View Code

2.删除 (pop,remove,clear,del)

 1 # 删除
 2 data = lst.pop(2) # 返回被删除的数据
 3 print(data)
 4 print(lst)
 5 
 6 lst.remove("赵四") # 删除元素.
 7 lst.remove("刘能") # 如果不存在会报错
 8 
 9 # 切片删除
10 del lst[1:3]
11 
12 # 清空
13 lst.clear()
14 print(lst)
View Code

3.修改(索引切片修改)

1 lst = ["王者农药", "魔兽世界", "DNF", "逆水寒", "反恐精英"]
2 lst[0] = "扫雷"
3 print(lst)
4 lst[3] = "吃鸡"
5 lst[1:3] = ["跑跑卡丁车"]  # 先删除后添加
6 lst[1::2] = ["QQ华夏","QQ三国"] # 切片修改的时候. 如果步长不是1. 注意元素的个数
7 print(lst)
View Code

4.查询.列表是一个可迭代对象可以进行for循环

1 lst = ["锅包肉", "好人家火锅", "巫山烤鱼", "清水煮白菜", "烤鸭"]
2 for el in lst: # element(元素)
3     print(el)
View Code

5.其他操作

 1 lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
 2 c = lst.count("太⽩") # 查询太⽩出现的次数
 3 print(c)
 4 lst = [1, 11, 22, 2]
 5 lst.sort() # 排序. 默认升序
 6 print(lst)
 7 lst.sort(reverse=True) # 降序
 8 print(ls)
 9 lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
10 print(lst)
11 lst.reverse()
12 print(lst)
13 l = len(lst) # 列表的⻓度
14 print(l)
View Code

三丶列表的嵌套

  采用降维度操作.一层一层的看

1 lst = ["alex", "gay","wusir",["范冰冰","李冰冰",[1, "火锅", "ritian", "凤爪"],"王冰冰"]]
2 # print(lst[3][2][1]) # 火锅
3 lst[3][2][2] = lst[3][2][2].upper()
4 print(lst)
5 
6 lst[3][2][0] = lst[3][2][0] + 99
7 print(lst)
View Code

  列表的相关操作

1 lst = [1,5,3,4,3,2,44,3,2,22]
2 lst.sort(reverse=True) # 排序. 默认升序, reverse=True 降序
3 print(lst)
4 
5 lst = ['晓雪',"小茹", "小花","晓梅"]
6 # lst.reverse() # 翻转
7 # print(lst)
8 
9 print(len(lst))
View Code

四丶元组和元组嵌套

  元组:俗称不可变的列表,又被称为制度列表,元组也是python 的剧本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,车讯可以.循环也可以,切片也可以,但是就是不能改

 1 print((1+3)*5)
 2 print((3))
 3 tu = (3, ) # 元组中如果只有一个元素. 需要在括号里写一个,
 4 tu = tuple() # 空元组
 5 print(type(tu))
 6 
 7 tu = ("人民币", "美元", "英镑", "欧元")
 8 tu.append("哈哈")
 9 tu[0] = "日元" # 不予许修改
10 del tu[2] # 删除也不行
11 
12 print(tu[2]) # 索引可以用
13 print(tu[::2])
14 
15 for el in tu:
16     print(el)
View Code

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

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

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

      元组的第一层是不能进行赋值的. 内部元素是没有要求

1 tu = (1, "哈喽", "how are you?", "alex", ["alex"])
2 tu[3].upper()
3 print(tu)
View Code

  元组也有count(), index(), len()等⽅法.

五丶range 

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

 1 range()是一个可迭代对象
 2 1. range(n)  0 -> n-1
 3 for i in range(10):
 4     print(i)
 5 2. range(m,n) m -> n-1
 6 for i in range(1,10):
 7     print(i)
 8 3. range(m,n,q) m -> n-1 每q个取一个
 9 for i in range(1,10,3):
10     print(i)
11 
12 for i in range(100, 90, -1):
13     print(i)
View Code

   ps:取元素值,和索引的示例

1 #       0        1      2         3            4        5
2 lst = ["砂锅", "馒头", "盖浇饭", "刀削面", "大麻花", "大煎饼"]
3 # 获取到列表的索引. 拿到索引之后. 可以拿到元素
4 for i in range(len(lst)):
5     print(i)    # i就是lst的索引
6     print(lst[i])
7 # for el in lst:
8 #     print(el)
View Code

猜你喜欢

转载自www.cnblogs.com/xintiao-/p/9396111.html