Python序列(列表、元组、字符串)的其他属性
1. 序列负下标
元组、列表都属于序列。
- 传统取最后一个元素:
seq[len(seq)-1] - Python快捷负索引:
seq[-1]:获取最后1个元素seq[-2]:获取倒数第2个元素
booklist = ["java","csharp","cplusplus","python","music","php"]
print(booklist[-1]) # php
print(booklist[-2]) # musicCode language: PHP (php)
2. 切片(分片)[start:end]
语法:
序列[起始下标:结束下标]
取左不取右:包含start,不包含end;返回新副本,原序列不变。
示例
booklist = ["java","csharp","cplusplus","python","music","php"]
part_books_list = booklist[2:4]
print(part_books_list)
# 输出:['cplusplus', 'python']Code language: PHP (php)
字符串也支持切片
字符串同样属于序列,可以切片截取一部分字符
sayhello = "hello how are you"
part_sayhello = sayhello[5:10]
print(part_sayhello)
# 结束下标可以超出字符串实际长度,不会报错,直接取到末尾
part_sayhello = sayhello[2:99]
print(part_sayhello)Code language: PHP (php)
3. append 和 extend 的区别
append(xxx):把传入的整个对象,作为1个元素追加进列表extend(xxx):把传入序列里的每一个元素拆开,逐个追加到列表
booklist = ("sdsdf","sdfdsf","4354354")
booklist_other = []
# append:把整个元组当成一个元素
booklist_other.append(booklist)
print(booklist_other)
# [('sdsdf', 'sdfdsf', '4354354')]
# extend:拆开元组,把里面每一项加进去
booklist_other = []
booklist_other.extend(booklist)
print(booklist_other)
# ['sdsdf', 'sdfdsf', '4354354']Code language: PHP (php)
4. list.pop() 删除并取出元素
pop会删除列表指定下标元素,并且把被删除的值作为返回值,可以赋值给变量;列表长度自动变化。
pop(index):删除下标为index的元素pop()不传参数:默认删除列表最后一个元素
todaytemperatures = [23,32,33,31]
todaytemperatures.append(29)
morning = todaytemperatures.pop(0) # 删除下标0,把23赋值给morning
print(morning)
print(todaytemperatures)
# 直接打印pop返回值
print(todaytemperatures.pop(1))
# pop不带参数,删除末尾
last = todaytemperatures.pop()
print(last)Code language: PHP (php)
代码
# 负索引
booklist = ["java","csharp","cplusplus","python","music","php"]
print(booklist[-1])
print(booklist[-2])
# 切片
part = booklist[2:4]
print(part)
# 字符串切片
s = "hello how are you"
print(s[2:99])
# append vs extend
t = ("a","b","c")
lst = []
lst.append(t)
print("append结果",lst)
lst2 = []
lst2.extend(t)
print("extend结果",lst2)
# pop
temps = [23,32,33,31]
temps.append(29)
val = temps.pop(0)
print("pop取出的值",val)
print("pop之后列表",temps)
temps.pop()
print("不传参pop删末尾",temps)Code language: PHP (php)
Previous: 特殊类型 None / True / False
Next: 处理集合