Python基础(day4)

列表

列表是Python中基础数据类型之一,其他语言中也有类似列表的数据类型,例如js中叫数组,它是以[]括起来的,每个元素以逗号隔开,而且它里面可以存放各种数据类型。

列表相对于字符串来说,不仅可以存储不同的数据类型,而且可以存储大量数据,而且列表是有序的,有索引值,可切片,方便取值。

 列表的操作:增删改查

增:append、insert、extend

1.append;增加到最后

li = [1, 2, 'a', 'b', 4, 'd']
li.append('e')
print(li)

结果输出:

[1, 2, 'a', 'b', 4, 'd', 'e']

2.insert;按照索引去增加

li = [1, 2, 'a', 'b', 4, 'd']
li.insert(2, 3)
print(li)

结果输出:

[1, 2, 3, 'a', 'b', 4, 'd']

3.extend;迭代的增加

li = [1, 2, 'a', 'b', 4, 'd']
li.extend(['q,a,w', 'aaa'])
li.extend(['abc','def'])
li.extend('你好')
print(li)

结果输出:

[1, 2, 'a', 'b', 4, 'd', 'q,a,w', 'aaa', 'abc', 'def', '', '']

删:pop()、del、remove()、clear()

1.pop();按照位置去删除,有返回值,默认删除最后一个

 

li = [1, 2, 'a', 'b', 4, 'd']
list1 = li.pop()
list2 = li.pop(1)
print(list1)
print(list2)
print(li)

结果输出:

d
2
[1, 'a', 'b', 4]

2.del;按照位置去删除,也可切片删除,没有返回值

li = [1, 2, 'a', 'b', 4, 'd']
del li[2:4]
print(li)

结果输出:

[1, 2, 4, 'd']

3.remove;按照元素去删除

li = [1, 2, 'a', 'b', 4, 'd']
li.remove('a')
li.remove('b')
print(li)

结果输出:

[1, 2, 4, 'd']

4.clear();清空列表

li = [1, 2, 'a', 'b', 4, 'd']
li.clear()
print(li)

结果输出:

[]

改:直接替换索引对应的元素,可使用索引方式进行替换

例1:

li = [1, 2, 'a', 'b', 4, 'd']
li[4] = 'c'
print(li)

结果输出:

[1, 2, 'a', 'b', 'c', 'd']

例2:

li = [1, 2, 'a', 'b', 4, 'd']
li[2:6] = [3, 4, 5, 6]
print(li)

结果输出:

[1, 2, 3, 4, 5, 6]

查:切片查,或循环查

循环查举例:

li = [1, 2, 'a', 'b']
for i in li:
    print(i)

结果输出:

1
2
a
b

切片查举例:

li = [1, 2, 'a', 'b']
print(li[1:3])

结果输出:

[2, 'a']

其他操作:

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

li = [1, 2, 'a', 'b', 'a']
print(li.count('a'))

结果输出:

2

2.index (方法用于从里欸报中找出某个值第一个匹配项的索引位置)

li = [1, 2, 'b', 'a', 'a']
print(li.index('a'))

结果输出:

3

3.sort (方法用于在原位置对列表进行排序);reverse (方法将列表中的元素反向存放)

li = [1, 2, 5, 3, 4]
li.sort()  #没有返回值,所以只能打印li
print(li)
li.reverse()  #它也没有返回值,所以只能打印li
print(li)
li.sort(reverse=True)  #反向排序
print(li)

结果输出:

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
[5, 4, 3, 2, 1]

注意:使用sort()方法,列表中同时含有字符串和数字时不能进行排序,会报错。

sort()方法对字符串排序时,使用的是ASCII码字符顺序,而不是实际的字典顺序。这意味着大写字母排在小写字母之前。因此在排序时,小写的a在大写的Z之后。例如:

>>> li = ['Alina', 'Bob', 'brach', 'Wuli', 'angel', 'willen']
>>> li.sort()
>>> li
['Alina', 'Bob', 'Wuli', 'angel', 'brach', 'willen']

如果需要按照普通的字典顺序来排序,就在sort()方法调用时,将关键字参数key设置为str.lower。

接上例:

>>> li.sort(key = str.lower)
>>> li
['Alina', 'angel', 'Bob', 'brach', 'willen', 'Wuli']

这将导致sort()方法将列表中所有的表项当成小写,但实际上并不会改变它们在列表中的值。

4.列表的嵌套

li =['zhangsan', '李四', '王五', ['zhaoliu', '李白'], '武力']
print(li[1][1])  #打印出索引为1的第2个元素
name = li[0].capitalize()  #打印索引为0的元素使其首字母大写
print(name)
li[2] = '王八'  #将列表li的索引为2的元素修改为'王八'
print(li[2].replace('', ''))  #将打印出列表li索引为2的元素把五改为八
li[3][0] = li[3][0].upper()  #将列表li索引为3的嵌套列表索引为0的元素全部大写
print(li)

结果输出:

四
Zhangsan
王八
['Zhangsan', '李四', '王八', ['ZHAOLIU', '李白'], '武力']

 元组

元组被称为只读列表,即数据可以被查询,但不能被修改,所以字符串的切片操作同样适用于元组。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章