基本数据类型--列表(list)

1. 列表(list)操作

列表是最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

定义列表:

1 love=['i love you','我爱你''あなたのことが好きです']#list列表定义用中括号,中间用逗号隔开,当然要在英文输入下

通过下标访问列表中的元素,下标从0开始计数

1 love=['i love you','我爱你','あなたのことが好きです']
2 print(love[0])
3 print(love[1])
4 print(love[2])
5 print(love[-1])#还可以倒着取
6 print(love[-2])

输出:

C:\Python\python.exe C:/Python/leetcode/1.py
i love you
我爱你
あなたのことが好きです
あなたのことが好きです
我爱你

Process finished with exit code 0

切片:取多个元素

 1 love=['i love you','我爱你','あなたのことが好きです','사랑해','吾爱汝','我愛你']
 2 
 3 print(love[1:4])#取下标1至下标4之间的数字,包括1,不包括4
 4 # 输出:['我爱你', 'あなたのことが好きです', '사랑해']切片之后得到的还是一个列表
 5 
 6 print(love[1:-1])#取下标1至-1的值,不包括-1
 7 # 输出:['我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝']
 8 
 9 print(love[:3])#从头开始取,一直取到下标2,3不取
10 # 输出:['i love you', '我爱你', 'あなたのことが好きです']
11 
12 print(love[3:])#从下标3开始取,一直到最后一个,必须不能写-1,只能这么写
13 # 输出:['사랑해', '吾爱汝', '我愛你']
14 
15 print(love[3:-1])#这样-1就不会被包含了
16 # 输出:['사랑해', '吾爱汝']
17 
18 print(love[0::2])#后面的2是代表步长是2,就是每隔一个元素,就取一个
19 # 输出:['i love you', 'あなたのことが好きです', '吾爱汝']
20 
21 print(love[::2])#和上句效果一样
22 # 输出:['i love you', 'あなたのことが好きです', '吾爱汝']
View Code

追加

love=['i love you','我爱你','あなたのことが好きです','사랑해','吾爱汝','我愛你']

love.append('我是新来的')#.append是在列表的最后面添加新的元素
love.append([123])#再次在后面添加一个列表
print(love)
#输出:['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你', '我是新来的', [123]]
View Code

插入

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',]

love.insert(1,"放到下标是1的位置")#注意这里要用双引号来包括单引号
print(love)
#输出:['i love you', '放到下标是1的位置', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']

love.insert(5,9999)#把数字 9999 放到下标为5的位置
print(love)
#输出:['i love you', '放到下标是1的位置', '我爱你', 'あなたのことが好きです', '사랑해', 9999, '吾爱汝', '我愛你']
View Code

修改

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',]

love[1]='我不爱你了'
print(love)
#输出:['i love you', '我不爱你了', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']
View Code

删除

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',]

del love[1]#指定下标删除元素
print(love)
#输出:['i love you', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']

love.remove('i love you')#.remove可以删除指定元素
print(love)
#输出:['あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']

love.pop()#删除列表最后一个元素
print(love)
#输出:['あなたのことが好きです', '사랑해', '吾爱汝']
View Code

扩展

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',]

love2=[1,2,3]
love.extend(love2)#.extend把列表love2中的元素添加到列表love中
print(love)
#输出:['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你', 1, 2, 3]
View Code

拷贝

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',]

love2=love.copy()#把列表love复制给列表love2
print(love2)
#输出:['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']
View Code

统计

love=['i love you', '我爱你', 'あなたのことが好きです','i love you', '사랑해', '吾爱汝', '我愛你','i love you']

a=love.count('i love you')#统计列表love当中  'i love you'   的个数
print(a)
#输出:3
View Code

排序

反转排序.reverse()

列表反转排序。把原列表中的元素顺序从左至右反转过来重新存放,而不会对列表中的参数进行排序整理,即不会根据大小排序。

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',23,1,89]

love.reverse()#列表反转排序。把原列表中的元素顺序从左至右反转过来重新存放,而不会对列表中的参数进行排序整理,即不会根据大小排序。
print(love)
#输出:[89, 1, 23, '我愛你', '吾爱汝', '사랑해', 'あなたのことが好きです', '我爱你', 'i love you']
View Code

升序排序.sort()

对列表内容进行升序排序,直接修改原列表的排序,排序后的新列表会覆盖原列表。注意:这种情况下列表里的元素必须是同一种数据类型

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你',23,1,89]

love.sort()
print(love)
#输出:Traceback (most recent call last):
#  File "C:/Python/leetcode/1.py", line 5, in <module>
#   love.sort()
#TypeError: unorderable types: int() < str()                列表里既有数字又有字符串,Python就没办法比较

###############################################

love=['i love you', '我爱你', 'あなたのことが好きです', '사랑해', '吾爱汝', '我愛你']

love.sort()#列表里全是字符串类型的元素,就可以进行升序排列,同时新的顺序会覆盖原有顺序
print(love)
#输出:['i love you', 'あなたのことが好きです', '吾爱汝', '我愛你', '我爱你', '사랑해']

###############################################

love=[2, 4 ,3,16, 0, 9]

love.sort()#列表里全是数字类型的元素,就可以进行升序排列,同时新的顺序会覆盖原有顺序
print(love)
#输出:[0, 2, 3, 4, 9, 16]
View Code

获取下标

love=['i love you', '我爱你', 'あなたのことが好きです','我爱你', '사랑해', '吾爱汝', '我愛你']

a=love.index('我爱你')#只返回找到的第一个下标
print(a)
#输出:1
View Code

 2、元组(tuple)操作

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表,它只有2个方法,一个是count,一个是index

定义元组:

统计

name=('彭于晏','胡歌','在下','胡歌','胡歌','胡歌')
a=name.count('胡歌')#统计'胡歌'在列表里出现的次数
print(a)
#输出:4
View Code

获取下标

name=('彭于晏','胡歌','在下')
a=name.index('在下')#找出'在下'的下标索引值
print(a)
#输出:2
View Code

猜你喜欢

转载自www.cnblogs.com/LUOyaXIONG/p/9848666.html