python列表、元组
列表
列表是Python中最基本的数据结构。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];
列表操作:
1.增
li = ['alex','wusir','egon','女神','taibai'] #按照索引去增加 list.insert(index,obj) li.insert(0) #在列表末尾添加新的对象 list.append(obj) li.append('abc') #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表 list.extend(seq) li.extend('aaa') li.extend(['1s','dki','ieo'])
2.删
li = ['taibai','alex','wusir','egon','女神',] #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.pop(obj=list[-1]) li.pop(1) li.pop() #按照位置去删除,也可切片删除没有返回值。直接在内存中删除,删除会报错 del list[切片] del li[1:3] #直接从内存中删除,全报错 del li #移除列表中某个值的第一个匹配项 list.remove(obj) li.remove('alex') #清空列表 list.clear() li.clear()
3.改
li = ['taibai','alex','wusir','egon','女神',] #按索引修改 list[index] li.list[0] = 'abc' #按切片修改,迭代添加,每个元素 list[start:end] li.list[0:3] = ['abc'] #列表第一个元素开始到第二个元素修改
4.查
切片查找或循环查找
元祖tuple
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
元组元素不能修改,内部元素可能可以修改
tu = (1,2,3,'alex',[2,3,4,'alex'])
其它方法,通用方法
list.count(obj) #统计某个元素在列表中出现的次数 list.index(obj) #从列表中找出某个值第一个匹配项的索引位置 list.sort([func]) #对原列表进行排序,他没有返回值 list.sort(reverse=Ture) #这是反序 list.reverse() #反向列表中元素,他没有返回值(反转不是反向排序)
join方法
方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
str.join(sequence) 参数 :sequence -- 要连接的元素序列。 返回值 :返回通过指定字符连接序列中元素后生成的新字符串。 s1 = 'abcccc' s1 = '-'.join(s) li = ['b','a','ddd'] s = '+'.join(li)
range 函数
range() 函数可创建一个整数列表,一般用在 for 循环中。
range(start, stop[, step]) start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5); end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) >>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []