python列表和元组

建立

在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。

name = ["张飞","刘备","关羽"]
print(name)
# ['张飞', '刘备', '关羽']

访问列表元素

只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。索引是从0开始的。

print(name[0])
# 张飞

倒着访问列表。索引-1表示最后一个,-2表示倒数第二个,以此类推。

print(name[-1])
print(name[-2])
print(name[-3])
'''
关羽
刘备
张飞
'''

修改、添加和删除元素

修改列表元素

要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

name = ["张飞","刘备","关羽"]
name[0] = "曹操"
print(name)
# ['曹操', '刘备', '关羽']

在列表中添加元素

在列表末尾添加元素:append()

name = ["张飞","刘备","关羽"]
print(name)
name.append("曹操")
print(name)
'''
['张飞', '刘备', '关羽']
['张飞', '刘备', '关羽', '曹操']
'''
name=  []# 创建空列表
name.append("张飞")
name.append("刘备")
name.append("关羽")
print(name)
"""
['张飞', '刘备', '关羽']
"""

在列表中插入元素:insert()

使用方法insert() 可在列表的任何位置添加新元素。需要指定新元素的索引和值。

name = ["张飞","刘备","关羽"]
print(name)
name.insert(1,"周瑜")
print(name)
'''
['张飞', '刘备', '关羽']
['张飞', '周瑜', '刘备', '关羽']
'''

从列表中删除元素

使用del 语句删除元素

需要删除的元素在列表中的位置,使用del可删除任何位置处的列表元素。

name = ["张飞","刘备","关羽"]
print(name)
del name[0]
print(name)
'''
['张飞', '刘备', '关羽']
['刘备', '关羽']
'''

使用方法pop() 删除元素

方法pop() 可删除列表末尾的元素,并能够接着使用它。术语**弹出 (pop)**源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

name = ["张飞","刘备","关羽"]
print(name)
popped_name = name.pop()
print(name)
print(popped_name)
'''
['张飞', '刘备', '关羽']
['张飞', '刘备']
关羽
'''

弹出列表中任何位置处的元素

可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

name = ["张飞","刘备","关羽"]
print(name)
popped_name = name.pop(1)# 弹出 刘备
print(name)
print(popped_name)
'''
['张飞', '刘备', '关羽']
['张飞', '关羽']
刘备
'''

根据值删除元素:remove()

如果不知道要从列表中删除的值所处的位置,只知道要删除的元素的值,可使用方法remove() 。使用remove() 从列表中删除元素时,也可接着使用它的值。

方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

name = ["张飞","刘备","关羽"]
print(name)
name.remove("刘备")# 删除刘备
print(name)
'''
['张飞', '刘备', '关羽']
['张飞', '关羽']
'''

组织列表

组织列表元素的顺序。

对列表进行永久性排序 :sort()

排序后再也无法恢复到原来的排列顺序。向sort() 方法传递参数reverse=True ,还可以按与字母顺序相反的顺序排列列表元素。

name = ["张飞","刘备","关羽","大乔"]
print("原列表")
print(name)
name.sort()
print("\n排序后的列表")
print(name)
name.sort(reverse=True)
print("\n逆序后的列表")
print(name)
'''
原列表
['张飞', '刘备', '关羽', '大乔']

排序后的列表
['关羽', '刘备', '大乔', '张飞']

逆序后的列表
['张飞', '大乔', '刘备', '关羽']
'''

对列表进行临时排序:sorted()

函数sorted() 能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。如果要按与字母顺序相反的顺序显示列表,也可向函数sorted() 传递参数reverse=True 。

name = ["张飞","刘备","关羽","大乔"]
print("原列表")
print(name)
print("\n排序后的列表")
print(sorted(name))
print("\n排序后的原列表")
print(name)
print("\n逆序后的列表")
print(sorted(name,reverse=True))
'''
原列表
['张飞', '刘备', '关羽', '大乔']

排序后的列表
['关羽', '刘备', '大乔', '张飞']

排序后的原列表
['张飞', '刘备', '关羽', '大乔']

逆序后的列表
['张飞', '大乔', '刘备', '关羽']
'''

倒着打印列表:reverse()

reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。方法reverse() 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse() 即可。

name = ["张飞","刘备","关羽","大乔"]
print("原列表")
print(name)
name.reverse()
print("\n倒序的列表")
print(name)
name.reverse()
print("\n恢复的列表")
print(name)
'''
原列表
['张飞', '刘备', '关羽', '大乔']

倒序的列表
['大乔', '关羽', '刘备', '张飞']

恢复的列表
['张飞', '刘备', '关羽', '大乔']
'''

确定列表的长度:len()

一维时:

name = ["张飞","刘备","关羽","大乔"]
len(name)
# 4  列表中有4个元素

多维时:

name = [["张飞","刘备"],["关羽","大乔"],["诸葛亮","曹操"]]

row = len(name)  # 行
col = len(name[0]) # 列

print(name)
row,col

'''
结果:
[['张飞', '刘备'], ['关羽', '大乔'], ['诸葛亮', '曹操']]
(3, 2)
'''

遍历整个列表

使用for循环遍历所有元素。

names = ["张飞","刘备","关羽"]
for name in names:
    print(name)
    '''
    张飞
		刘备
		关羽
    '''

创建数值列表

使用range()函数创建数字列表

range() 生成一系列的数字。

for i in range(1,4):
    print(i)
    
 '''
 1
 2
 3
 '''

如果将range() 作为list() 的参数,输出将为一个数字列表。

numlists = list(range(1,4))
print(numlists)
'''
[1, 2, 3]
'''

设置range()的步长:

even_numbers = list(range(2,11,2))
print(even_numbers)
'''
[2, 4, 6, 8, 10]
'''

对数字列表的运算

对数字列表元素进行运算:

numbers = list(range(1,5))
squares = []
for number in numbers:
    squares.append(number**2)
print(numbers)
print(squares)

对数字列表执行简单的统计计算:

numbers = list(range(1,5))
print(numbers)
print(min(numbers))
print(max(numbers))
print(sum(numbers))
'''
[1, 2, 3, 4]
1
4
10
'''

列表解析

squares = [num**2 for num in list(range(1,5))]
print(squares)
# [1, 4, 9, 16]

切片

处理列表的部分元素。

创建切片

names = ["张飞","刘备","关羽","周瑜","曹操","孙权","孙策"]
print("输出前三个:")
print(names[0:3])

print("\n输出前三个:")#没有指定起始索引,Python从列表开头开始提取
print(names[:3])

print("\n从第四个到最后:")#没有指定终止索引,Python提取到最后一个元素
print(names[3:])

print("\n最后三个:")
print(names[-3:])

'''
输出前三个:
['张飞', '刘备', '关羽']

输出前三个:
['张飞', '刘备', '关羽']

从第四个到最后:
['周瑜', '曹操', '孙权', '孙策']

最后三个:
['曹操', '孙权', '孙策']
'''

遍历切片

同遍历列表,使用for循环

names = ["张飞","刘备","关羽","周瑜","曹操","孙权","孙策"]
print("输出前三个:")
#print(names[0:3])
for name in names[0:3]:
    print(name)
    
'''
输出前三个:
张飞
刘备
关羽
'''

复制列表

使用且切片索引为 :[:]

names = ["张飞","刘备","关羽","周瑜","曹操","孙权","孙策"]
copyed_names = names[:]
print(names)
print(copyed_names)

'''
['张飞', '刘备', '关羽', '周瑜', '曹操', '孙权', '孙策']
['张飞', '刘备', '关羽', '周瑜', '曹操', '孙权', '孙策']
'''

元组

列表是可以修改的。而不可变的列表被称为元组

元组看起来像列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。相比于列表,元组是更简单的数据结

创建:如创建一个不变的矩形

dimensions = (200, 50)# 定义一个矩形的长宽
print(dimensions[0])# 输出长
print(dimensions[1])# 输出宽
'''
200
50
'''

改变元素的取值:不可以想列表一样直接更改,而是要重新定义一个元组。

dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
    print(dimension)
dimensions = (400, 100)
print("\nModified dimensions:")
for dimension in dimensions:
    print(dimension)
'''
Original dimensions:
200
50

Modified dimensions:
400
100
'''

50)# 定义一个矩形的长宽
print(dimensions[0])# 输出长
print(dimensions[1])# 输出宽
‘’’
200
50
‘’’


改变元素的取值:不可以想列表一样直接更改,而是要重新定义一个元组。

```python
dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
    print(dimension)
dimensions = (400, 100)
print("\nModified dimensions:")
for dimension in dimensions:
    print(dimension)
'''
Original dimensions:
200
50

Modified dimensions:
400
100
'''
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值