Python开发基础知识总结2(list,tuple)

python序列

python列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

list1 = [1,a,"python"]

访问列表元素

因为列表是有序集合,因此要访问列表的元素,只需要将列表的索引或元素的位置告诉python即可,索引是从0开始而不是从1开始

list1 = [1,2,"python","hello"]

print(list1[3])
print(list1[3].title()) # 元素首字母变大写
hello
Hello

增删改查列表元素

list2 = [1,"python"]
print(list2)
list2.append("hello")
print(list2)
list2.insert(-1,"world")
print(list2)
list3 = ["java", "c","c#","python"]
del list3[1]
print(list3)
list4 = list3.pop(2) # pop 返回当前移除的元素
print(list4)
print(list3)
list3.remove("java") # 移除当前指定的对象,并且没有返回值
print(list3)
python
['java', 'c#']
['c#']
list5 = ["java", "c","c#","python"]
list5[3] = "php"
print("list5",list5)
list6 = ["java", "c","c#","python"]
for index,value in enumerate(list6):
    if value == "c":
        print("值为:{}的索引是:{} ".format(value,index))
        #list6[index] = "go"
    else:
        print("index",index,"value",value)

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

对列表进行排序

list6 = ["java", "c","c#","python"]
list7 = sorted(list6)
print(list7,"临时排序")
list6.sort() # sort函数对序列进行排序后,无法回到序列原来的排列顺序
print(list6)

列表反转和计算列表长度

list8 = ["java", "c","c#","python"]
list8.reverse()
print("倒着打印当前的列表",list8)
print("当前的列表长度是",len(list8))

深入了解列表

列表生成式
import os
list1 = [x for x in range(1,10)]
print(list1)
list2 = [ i**2 for i in range(1,10) if i%2 == 0]
print(list2)
list3 = [ x + ">=" +  y for x in "abc" for y in "ABC"]
print(list3)
list4 = [d for d in os.listdir(".")]  # os.listdir可以列出文件和目录
print(list4) 
"""
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[4, 16, 36, 64]
['a>=A', 'a>=B', 'a>=C', 'b>=A', 'b>=B', 'b>=C', 'c>=A', 'c>=B', 'c>=C']
['list_function.py', 'python_基本统计值运算.py']
"""
for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for循环流程图

for循环遍历列表
lange = [i**3 for i in range(1,20) if i % 2 == 0]
for i in lange:
    print(i)
对列表进行添加,删除,遍历
language_l = list()
while True:
    print("输入空字符串退出当前程序\n")
    lage = input("请输入你说的语言:")
    language_l.append(lage)
    if lage == "":
        language_l.remove(lage)
        break
    else:
        print("请不要输入空语句")

for lan in language_l:
    print("当前列表中的语言为:" + lan)
print(language_l)
python_range函数

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

函数语法
range(start, stop[, step])
参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

for i in range(1,10,2):
    print(i)
number = list(range(1,10,2))   
print(number) 

numbers = list()
for i in range(1,10):
    numbers.append(i**2)
print(numbers)
print("min",min(numbers)) 
print("max",max(numbers)) 
print("sum",sum(numbers))
列表切片

Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。

 格式:【start:end:step】

 start:起始索引,从0开始,-1表示结束

 end:结束索引

 step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值

注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引

section = ["java","php","go","python","c#","c","C++","R语言"]
print(section[:3]) # 0 - 3
print(section[2:5]) # 2 - 4
print(section[1:6:2]) # 1-6 步长为2
print(section[2:]) # 2 - 最后一位
print(section[-1]) # 取最后一位
print(section[-3]) # 倒数第三位
print(section[-3:]) # 倒数第三位到最后
print(section[3:-3]) # 第三位到倒数第三位
print(section[::-1]) # 倒序
for sec in section[::-1]:
    print("sec",sec)
section_copy = section[:]
print(section_copy)
python 列表找不同
list1 = ["java","php","go","python","c#","c","C++","R语言"]
list2 = ["python","java","javascript","go","html","php","C++","R语言","sql","ruby"]

a = [x for x in list1 if x in list2]
print("相同的",a)
b = [y for y in (list1 + list2) if y not in a]
print("不同的", b)
python 元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组是不可修改类型,虽然在程序运行过程中无法对元组的元素进行插入和删除运算。但元组可以通过再构造一个新的元组替换旧的元组,来实现元素的插入和删除。

tup = (1,2,3,4,5,6,)
print(type(tup))
for i in tup:
    print(i)

tup = (7,8,9,)
for i in tup:
    print(i,end=",")

元组与列表相同,也是容器对象,可以存储不同类型的内容。元组与列表有两个不同点。第一个不同点是元组的声明使用小括号,而列表使用方括号,当声明只有一个元素的元组时,需要在这个元素的后面添加英文逗号;第二个不同点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。

用于列表的排序、替换、添加等方法也不适用于元组,适用于元组的主要运算有元组的合并、遍历、求元组的最大值和最小值等操作方法。

购物车小项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值