首页 > 编程语言 > 详细

开始学习python的第四天

时间:2019-05-28 23:15:30      阅读:175      评论:0      收藏:0      [点我收藏+]

1.list

列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用‘ , ‘隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

1.2. 列表的创建

技术分享图片
# 创建一个列表有三种方式:

# 方式一:(常用)
l1 = [1, 2, 太白]


# 方式二:(不常用)
l1 = list()  # 空列表
# l1 = list(iterable)  # 可迭代对象
l1 = list(123)
print(l1)  # [‘1‘, ‘2‘, ‘3‘]

# 方式三:列表推导式(后面的课程会讲到)
l1 = [i for i in range(1,5)]
print(l1)  # [1, 2, 3, 4]
View Code

1.3  列表的索引切片

技术分享图片
l1 = [a, b, 太白, 3, 666]
print(l1[0])  # ‘a‘
print(l1[-1])  # 666
print(l1[1:3])  # [‘b‘, ‘太白‘]
print(l1[:-1])  # [‘a‘, ‘b‘, ‘太白‘, 3]
print(l1[::2])  # [‘a‘, ‘太白‘, 666]
print(l1[::-1])  # [666, 3, ‘太白‘, ‘b‘, ‘a‘]
View Code
技术分享图片
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
练习题

2.增

技术分享图片
# append 追加,给列表的最后面追加一个元素
l = [1, 2, a]
l.append(666)
print(l) # [1, 2, ‘a‘, 666]

# insert  插入在列表的任意位置插入元素
l = [1, 2, a]
l.insert(1,太白)
print(l) # [1, ‘太白‘, 2, ‘a‘]

# extend  迭代着追加,在列表的最后面迭代着追加一组数据
l = [1, 2, a]
l.extend(太白a)
print(l)

列表的增
View Code

3.删

技术分享图片
# pop  通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素
l = [太白, alex, WuSir, 女神]
ret = l.pop(1)
print(ret,l) # alex [‘太白‘, ‘WuSir‘, ‘女神‘]

# remove  通过元素删除列表中该元素
l = [太白, alex, WuSir, 女神]
l.remove(alex)
print(l) # [‘太白‘, ‘WuSir‘, ‘女神‘]

# clear 清空列表
l = [太白, alex, WuSir, 女神]
l.clear()
print(l) # []  

# del
#按照索引删除该元素
l = [太白, alex, WuSir, 女神]
del l[2]
print(l) # [‘太白‘, ‘alex‘, ‘女神‘]

# 切片删除该元素
l = [太白, alex, WuSir, 女神]
del l[1:]
print(l) # [‘太白‘]

# 切片(步长)删除该元素
l = [太白, alex, WuSir, 女神]
del l[::2]
print(l) # [‘alex‘, ‘女神‘]

列表的删
View Code

4.改

技术分享图片
# 按照索引改值
l = [太白, alex, WuSir, 女神]
l[0] = 男神
print(l) # [‘男神‘, ‘alex‘, ‘WuSir‘, ‘女神‘]

# 按照切片改值(迭代着增加)
l = [太白, alex, WuSir, 女神]
l[1:3] = abcdefg
print(l) # [‘太白‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘女神‘] 

# 按照切片(步长)改值(必须一一对应)
l = [太白, alex, WuSir, 女神]
l[::2] = 对应
print(l) # [‘对‘, ‘alex‘, ‘应‘, ‘女神‘]

列表的改
View Code

5.查

切片去查,或者循环去查。

6.其他操作

count(数)(方法统计某个元素在列表中出现的次数)。

1 a = ["q","w","q","r","t","y"]
2 print(a.count("q"))

index(方法用于从列表中找出某个值第一个匹配项的索引位置)

1 a = ["q","w","r","t","y"]
2 print(a.index("r"))

sort (方法用于在原位置对列表进行排序)。

 reverse (方法将列表中的元素反向存放)。

1 a = [2,1,3,4,5]
2 a.sort()# 他没有返回值,所以只能打印a
3 print(a)
4 a.reverse()#他也没有返回值,所以只能打印a
5 print(a)

列表也可以相加与整数相乘

l1 = [1, 2, 3]
l2 = [4, 5, 6]
# print(l1+l2)  # [1, 2, 3, 4, 5, 6]
print(l1*3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
计算列表的长度并输出
列表中追加元素"seven",并输出添加后的列表
请在列表的第1个位置插入元素"Tony",并输出添加后的列表
请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
请删除列表中的元素"ritian",并输出添加后的列表
请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
请删除列表中的第2至4个元素,并输出删除元素后的列表

相应练习题

课上学习

技术分享图片
li = [alex,wusir,egon,女神,taibai]

#增加 append insert
li.append(日天)
li.append(1)
print(li)
while 1:
    username = input(>>>)
    if username.strip().upper() == Q:
        break
    else:
        li.append(username)
print(li)
li.insert(4,春哥)
print(li)
li.extend(二哥)
li.extend([1,2,3])
print(li)

#
li = [taibai,alex,wusir,egon,女神,]
name = li.pop(1)  # 返回值
name = li.pop()  # 默认删除最后一个
print(name,li)

li.remove(taibai)  # 按元素去删除
print(li)

li.clear()  # 清空
print(li)

del li
del li[0:2]  # 切片去删除
print(li)

#
li[0] = 男兽
li[0] = [1,2,3]
切片
li[0:3] = 云姐plfdslkmgdfjglk
li[0:3] = [1,2,3,春哥,咸鱼哥]
print(li)

#
for i in li:
    print(i)
print(li[0:2])

#公共方法:
l = len(li)
print(l)
num = li.count(taibai)
print(num)
print(li.index(wusir))
li = [1,5,4,7,6,2,3]
# #正向排序
li.sort()
print(li)
# #反向排序
li.sort(reverse=True)
print(li)
# #反转
li.reverse()
print(li)
View Code

列表的嵌套

技术分享图片
#列表的嵌套
li = [taibai,武藤兰,苑昊,[alex,egon,89],23]

print(li[1][1])
name = li[0].capitalize()
# print(name)
li[0] = name
li[0] = li[0].capitalize()
li[2] = 苑日天
print(li[2].replace(,ritian))
li[2] = li[2].replace(,ritian)
li[3][0] = li[3][0].upper()
print(li)
View Code

2.tuple

对于容器型数据类型list,无论谁都可以对其增删改查,那么有一些重要的数据放在list中是不安全的,所以需要一种容器类的数据类型存放重要的数据,创建之初只能查看而不能增删改,这种数据类型就是元组。

元组:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.

tu1 = (a, b, 太白, 3, 666)
print(tu1[0])  # ‘a‘
print(tu1[-1])  # 666
print(tu1[1:3])  # (‘b‘, ‘太白‘)
print(tu1[:-1])  # (‘a‘, ‘b‘, ‘太白‘, 3)
print(tu1[::2])  # (‘a‘, ‘太白‘, 666)
print(tu1[::-1])  # (666, 3, ‘太白‘, ‘b‘, ‘a‘)

元组的索引切片

2.1元组其他操作方法

因为元组的特性,直接从属于元组的元素不能更改,所以元组只能查看。

# 可以利用for循环查询

tu1 = (a, b, 太白, 3, 666)
for i in tu1:
    print(i)

index:通过元素找索引(可切片),找到第一个元素就返回,找不到该元素即报错。

tu = (太白, [1, 2, 3, ], WuSir, 女神)
print(tu.index(太白)) # 0

count: 获取某元素在列表中出现的次数

tu = (太白, 太白, WuSir, 吴超)
print(tu.count(太白)) # 2

len

tu1 = (1,2,3,4,84,5,2,8,2,11,88,2)
print(len(tu1))

结果:
12 
技术分享图片
#元祖 只读列表,可循环查询,可切片。
#儿子不能改,孙子可能可以改。
# tu = (1,2,3,‘alex‘,[2,3,4,‘taibai‘],‘egon‘)
# # print(tu[3])
# # print(tu[0:4])
# # for i in tu:
# #     print(i)
# tu[4][3]=tu[4][3].upper()
# print(tu)
# tu[4].append(‘sb‘)
# print(tu)

# s = ‘alex‘
# s1 = ‘sb‘.join(s)
# print(s1)
#列表转化成字符串  list -----> str    join
# li = [‘taibai‘,‘alex‘,‘wusir‘,‘egon‘,‘女神‘,]
# s = ‘++++‘.join(li)
#str ----->list   split()
# print(s)


#range  [1,2,3,4,5,6,.......100........]

# for i in range(3,10):
#     print(i)
# for i in range(10):
#     print(i)
# for i in range(0,10,3):
#     print(i)
# for i in range(10,0,-2):
#     print(i)
# for i in range(10,-1,-2):
#     print(i)

li = [1,2,3,5,alex,[2,3,4,5,taibai],afds]
# for i in li:
#     if type(i) == list:
#         for k in i:
#             print(k)
#     else:print(i)

for i in range(len(li)):
    if type(li[i]) == list:
        for j in li[i]:
            print(j)
    else:print(li[i])
课堂学习

 

开始学习python的第四天

原文:https://www.cnblogs.com/zhouanfu/p/10940946.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!