美文网首页
python3-元组、列表和字典

python3-元组、列表和字典

作者: Snails_Tin | 来源:发表于2021-07-20 09:01 被阅读0次

来自python3学习笔记,有不正确的地方大家多多指教

一、列表

(一)、列表的简述

1.列表使用方括号[],列表的数据项不需要具有相同的类型

2.与字符串的索引一样,列表索引从0开始

(二)、列表的增/删/改/查

1.查询:motorcycles = ['honda','yamaha','suzuki']

  • 访问列表元素时,需要写出该元素的位置,在Python中,元素的位置是从0开始算起的
  • 当访问列表中最后一个元素时,可以将索引指定为-1,即表示最后一个元素
print(motorcycles[0])

2.增加:motorcycles = ['honda','yamaha','suzuki']

append()方法:在列表的末尾添加元素,也可以创建空的列表,使用append()添加元素
motorcycles.append("honda")

insert()方法:在列表的任何位置添加新元素,该方法需要制定新元素的索引和值
motorcycles.insert(0,'ducati')

3.修改:motorcycles = ['honda','yamaha','suzuki']

直接将需要修改的元素索引出来,直接进行修改
motorcycles[0] = 'ducati'

4.删除:motorcycles = ['honda','yamaha','suzuki']

motorcycles = ['honda','yamaha','suzuki','ducati']

a.使用del语句删除元素:要知道元素的位置
del motorcycles[0]

b.使用pop()方法删除元素:pop()方法可以删除列表中的最后一个元素,并且可以使用它删除列表中最后一个元素的值,并将删除的元素存放在变量poped_motorcycles中
poped_motorcycles = motorcycles.pop()
print(motorcycles)

c.弹出列表任何位置处的元素:pop()方法,在括号中加上元素的位置,就可以将该元素从列表中弹出
poped_motorcycles = motorcycles.pop(2)

d.一次删除列表中的所有元素:
del motorcycles[:]

e.根据值删除元素:若不知道元素的位置,可以使用remove()方法,直接通过元素的值删除了所有这样的值。
too_expensive = 'yamaha'
motorcycles.remove(too_expensive)

**注意:使用del语句和pop()方法的区别:如果要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果要在删除元素后还能继续使用,就是用pop()方法
注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值**

(三)、列表的排序方式

1.永久排序:按照顺序排列

cars = ['bwm','audi','toyota','subaru']
# sort()函数:按照字母(a-z)顺序排列,对列表进行永久性排序
cars.sort
print(cars)
# sort(reverse=True)函数:按照字母(z-a)顺序排列,也是对列表进行永久性排序
cars.sort(reverse=True)
print(cars)

2.临时排序:按照顺序排列

cars = ['bwm','audi','toyota','subaru']
# sorted()函数:按照字母(a-z)顺序排列,对列表进行临时排序
print('Here is the sorted1 list:')
print(sorted(cars))
# sorted(severse=True)函数:按照字母(z-a)顺序排列,对列表进行临时排序,即向函数sorted()传递severse=True参数
print('Here is the sorted2 list:')
print(sorted(cars,reverse=True))

3.倒序

cars = ['bwm','audi','toyota','subaru']
# reverse()函数:将列表元素的排列顺序颠倒,永久性排序
cars.reverse()
print(cars)
# 恢复为原来的顺序,只需要再次对该列表使用revers()函数即可
cars.reverse()
print(cars)

4.确定列表长度

cars = ['bwm','audi','toyota','subaru']
# len()函数:列表的长度从1开始算
print(len(cars))

二、元组

(一)、元组的简述

1.元组使用小括号,元组的元素不能修改

2.元组中只包含一个元素时,需要在元素后面添加逗号

3.元组与字符串类似,下标索引从0开始

(二)、元组的删/改/查

1.查询

tup = (1, 2, 3, 4, 5, 6, 7 )
元组可以使用下标索引来访问元组中的值
print "tup[0]: ", tup[0]          --表示检索下标为0的值
print "tup[1:5]: ", tup[1:5]      --表示输出下标为1≤x<5的值

结果为:
tup[0]:  1
tup[1:5]:  (2, 3, 4, 5)

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

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

结果为:(12, 34.56, 'abc', 'xyz')

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

tup1 = (12, 34.56)
del tup1

三、字典

(一)、字典的简述

1.字典是另一种可变容器模型,且可存储任意类型对象;

2.字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

3.键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;

4.值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组.

(二)、字典的删/改/遍历

1.修改:alien_0 = {'color':'green','points':5}

通过键来修改值
alien_0['color'] = 'yellow'
print("This alien's color is " + alien_0['color'])

2.删除:

用del删除,删除的键-值对会永远消失
del alien_0['point']
print(alien_0)

3.遍历字典

user_0 = {
    'username':'efermi',
    'first':'enrico',
    'last':'fermi'
}
a.遍历所有键-值对
itmes():遍历时,在for语句后面包含字典名和items()方法,返回一个键-值对列表,for循环依次将每个键-值对存储在指定的两个变量中。
for key,value in user_0.items():
    print('\\nkey:' + key)
    print('value:' + value)

b.遍历字典中所有的键
key():不需要字典的值时,只遍历字典中的键,使用key()方法
for user in user_0.keys():
    print(user.title())

c.按顺序遍历字典中的所有键
sorted():对方法dictionary.keys()的结果条用函数sorted(),对首字母进行排序
for user in sorted(user_0.keys()):
    print(user.title() + ",thank you for taking the poll")

d.遍历字典中的所有值
values():只需要遍历字典中的值,使用values()方法,返回一个值列表
set():去掉字典中重复的值
for user in set(user_0.values()):
    print(user.title())
注:无法添加相同的键

**注:在遍历字典时,键-值对的返回顺序与存储顺序不同,Python不关心键-值对的存储顺序,只跟踪键和值之间的关系。**

四、列表、元组、字典的区别

image.png

相关文章

网友评论

      本文标题:python3-元组、列表和字典

      本文链接:https://www.haomeiwen.com/subject/isdlmltx.html