Python基础2

本文详细介绍了Python中的序列数据结构,重点讲解了列表和元组的基本操作,如访问、更新、删除元素以及相关方法。示例展示了如何创建、修改和删除列表与元组的元素,同时给出了练习题,让读者实践操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序列

序列是Python中最基本的数据结构。
序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = [‘physics’, ‘chemistry’, 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = [“a”, “b”, “c”, “d”]
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

    list1 = ['physics', 'chemistry', 1997, 2000]
    list2 = [1, 2, 3, 4, 5, 6, 7 ]
     
    print "list1[0]: ", list1[0]
    print "list2[1:5]: ", list2[1:5]

以上实例输出结果:

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:

list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list

以上实例输出结果:

['Google', 'Runoob']

删除列表元素

可以使用 del 语句来删除列表的元素,如下实例:

list1 = ['physics', 'chemistry', 1997, 2000]
 
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

以上实例输出结果:

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

列表方法

  1. list.append(obj)
    在列表末尾添加新的对象
  2. list.count(obj)
    统计某个元素在列表中出现的次数
  3. list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
  4. list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
  5. list.insert(index, obj)
    将对象插入列表
  6. list.pop([index=-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
  7. list.remove(obj)
    移除列表中某个值的第一个匹配项
  8. list.reverse()
    反向列表中元素
  9. list.sort(cmp=None, key=None, reverse=False)
    对原列表进行排序
  10. list.clear()
    清空列表
  11. list.copy()
    复制列表

元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改

元组使用小括号,列表使用方括号。

元组创建

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
实例(Python 3.0+)

>>>tup1 = ('Google', 'Runoob', 1997, 2000);
>>> tup2 = (1, 2, 3, 4, 5 );
>>> tup3 = "a", "b", "c", "d"; # 不需要括号也可以
>>> type(tup3)
<class 'tuple'>

创建空元组

tup1 = ();
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:

>>>tup1 = (50)
>>> type(tup1) # 不加逗号,类型为整型
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # 加上逗号,类型为元组
<class 'tuple'>
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

访问元组

元组可以使用下标索引来访问元组中的值,如下实例:

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
以上实例输出结果:

tup1[0]:  Google
tup2[1:5]:  (2, 3, 4, 5)

修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
# 创建一个新的元组
tup3 = tup1 + tup2;
print (tup3)
以上实例输出结果:

(12, 34.56, 'abc', 'xyz')

删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
del tup;
print ("删除后的元组 tup : ")
print (tup)
以上实例元组被删除后,输出变量会有异常信息,输出如下所示:

删除后的元组 tup : 
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (tup)
NameError: name 'tup' is not defined

遍历

ser_0 = {'username': 'efermi', 'first': 'enrico', 'last': 'fermi', }
for key, value in ser_0.items():
    print("\nKey: " + key)
    print("Value: " + value)

favorite_languages = {'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python', }
for name, language in favorite_languages.items():
    print(name.title() + "'s favorite language is " + language.title() + ".")

favorite_languages = {'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python', }
for name in favorite_languages.keys():
    print(name.title())

alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)

题目

定义一个列表,包含自己的家庭成员,并在指定位置插入给定元素,例如你的男女朋友名称等。再将男女朋友名字移除等操作。

list = ['Mom', 'Dad', 'me', 'brother']
list.insert(1, 'girlfriend')
print(list)
list.remove('girlfriend')
print(list)
list.append("boyfriend")
print(list)
list.pop()
print(list)

输出

['Mom', 'girlfriend', 'Dad', 'me', 'brother']
['Mom', 'Dad', 'me', 'brother']
['Mom', 'Dad', 'me', 'brother', 'boyfriend']
['Mom', 'Dad', 'me', 'brother']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值