常见容器day04

常见容器

  • 列表
  • 字典
  • 字符串
  1. 列表容器型数据类型:将[]作为容器标志,里面多个元素用逗号隔开。

    列表和字符串有序,字典和集合无序

    可变性:列表是可变的(元素的个数和元素的值可变,支持增删改的操作)

    有序性:序列影响结果

    列表的元素:指保存在列表中的每个数据,可以是任何类型的数据。

    语法:

    # 列表 = [元素1, 元素2]
    list1 = [’name‘, ’hobby‘, 87, 0.23, ’开心心‘]
    print = list1
    
    

    表示一个较长列表的时候,可以再逗号后面换行写

    list3 = [
      12,
      13,
      14
    ]
    

​ 2.列表的增删改查

​ 2.1查:获取列表中的元素

​ 2.2查单个:一次获取一个元素

语法:

'''
列表[下标]:获取列表中指定下标对应元素
说明:
列表:具体一个列表,或者是保存列表的变量
[]:固定写法
下标:索引,指的是元素在列表中的位置信息
位置信息:
1.从前到后下标从0开始递增 012345
2.从后往前下标从-1开始递减 -1-2-3-4-5-6
'''
num = [10, 23, 88, None, 'anna']
print(num[3], num[-4])

3.遍历 按顺序逐个获取列表中所有元素

# 可以使用for循环逐个获取
names = ['nana', 'john', 'lisa', 'handy']
for x in names:
  print(x)

Practice :统计num中偶数个数

Num = [45, 99, 88, 43, 24, 36]
count = 0
for x in num:
  if x % 2 == 0: 
  	count += 1
print(count)

students = [
    ['张三', 18, 90, '男'],
    ['小明', 20, 100, '男'],
    ['小花', 19, 78, '女']
]
for x in students:
    print(x[0])
  

a.增:在列表中增加元素

#语法:

# a.列表.append(元素):在指定列表的最后添加指定元素
names = ['nana', 'john', 'lisa', 'handy']
names.append('lily')
print(names)

practice:提取nums中所有的偶数,得到新的列表

num2 = [12, 23, 34, 77, 78]
num3 = []
if x in num2:
  num3.append(x)
print(num3)

b. 列表.insert(下标, 元素):将指定元素插入到列表中指定下标对应元素的前一位

num = [23, 34, 67, 87]
names.insert(-2, 'mingming')
print(num)

删- 删除元素

# a.del 列表[下标]

# 删除列表中指定下标对应的元素
num = [23, 34, 67, 87]
del num[3]
print(num)

# b.
# 列表.remove(元素)
num = [23, 34, 67, 87, 67]
num.remove(67)

#c.
#列表.pop() 取走列表最后一个元素并且返回
#列表.pop(下标) 取走列表指定下标对应的元素并且返回
num = [23, 34, 67, 87, 67]
num.pop(1)


# d.修改某个元素的值
# 列表[下标] = 新值 将指定下标对应的元素修改成新的值
num = [23, 34, 67, 87, 67]
num[3] = 'kaka'
print(num)

4.相关操作和函数

1.列表的加法和乘法运算

result = [12, 34,56] + [23, 99]
print(result)

num = [23, 34, 67, 87, 67]
result1 = num * 3
print(result1)
  1. in和 not in

数据 in 列表:判断列表中是否存在数据对应的元素

数据 not in 列表: 判断列表中是否不存在数据对应的元素

num = [23, 34, 67, 87, 67]
print('mingming' in num)
print('mingming' not in num)

3.len函数

len(列表):获取列表的长度,获取列表中元素的个数

num = [23, 34, 67, 87, 67]
print(len(num))
print(len('sdsbdkjfjbs'))

4.sum函数

sum(列表):求列表中所有元素的和,列表中的元素必须全是数字

num = [23, 34, 67, 87, 67]
print(sum(num))
print(sum(range(101)))
  1. max/min函数 求最大最小值

语法:max/min(列表)

num = [23, 34, 67, 87, 67]
print(max(num))
print(min(num))

6.sorted函数

变量 = sorted(列表):将列表中的元素从小到大排序,产生一个新的列表保存到指定变量中

变量 = sorted(列表, reverse=True):将列表中的元素从大到小排序,产生一个新的列表保存到指定变量中

num = [23, 34, 67, 87, 67]
new_num = sorted(num)
print(new_num)

num = [23, 34, 67, 87, 67]
new_num = sorted(num, reverse=True)
print(new_num)
  • 字典

什么是字典(dict):是容器型数据类型:将{}作为容器标准,里面多个键值对用逗号隔开:{键1:值1, 键2:值2,键3:值3}

2.字典是可变的(支持增删改),字典是无序的,顺序不影响结果

3.字典的元素必须是键值对,键必须是不可变类型数据,可以是字数,布尔,空值或者字符串,元组,一般用字符串

4.值可以是任何类型的数据

如果需要同时保存意义不同的数据的时候 字典币列表更好用

一个变量保存一个学生数据

如果用列表来存,数据代表的意义看不到,以后可能会忘记

student = ['ming', 18, 178]
print(student)
student2 = {'name': 'mingming', 'age': 18, 'height': 178}
print(student2)
# 空字典
dict1 = {}

查:获取值

查单个:

'''
1.字典[键] 获取字典中指定键对应的值,如果键不存在会报错
2.1字典.get(键) 获取字典中指定键对应的值,如果键不存在不会报错,会返回None
2.2字典.get(键, 默认值) 获取字典中指定键对应的值,如果键不存在返回默认值
'''
student2 = {'name': 'mingming', 'age': 18, 'height': 178, 'score': 98}
print(student2['name'])
print(student2.get('height'))
#print(student2['id'])
print(student2.get('id', 'bucunzai'))
print(student2.get('score', 0))
  • 字符串

    .1.转义字符:在特定的符号前加\来表示特殊意义或者特殊功能的符号

    字符串是容器型数据类型,将单引号或双引号作为容器标志,引号中的每个符号就是字符串中的元素,字符串的元素也叫字符

'''常见的转义字符:
\n 表示换行
一个转义字符的长度只算1
\t 水平制表符(对应按一个tab键)
\' 表示一个普通的单引号
\" 表示一个普通的双引号
\\ 表示一个普通的反斜杠
'''
str1 = 'abc'
str2 = 'abc你好呀嘻嘻嘻'
print(len(str2))
str3 = 'ahh\njklgbhkj'
print(str3)
str3 = 'ahh\tjklgbhkj'
print(str3)

# 2.字符串相关操作
print('abc' + 'hello')
print('abc' * 3)


print('a' in 'abcdef')
print('abc' in 'abcdef')




# 3.格式字符串 f-string
name = input('请输入学生名字:')
age = int(input('q请输入学生年龄:'))

message1 = name + '今年' + str(age) +'岁!'

message2 = f'{name}'
print(message2)

str1 = f'{10 + 20}abc'
print(str1)

name = input('请输入学生名字:')
age = int(input('请输入学生年龄:'))
message3 = f'{name}今年{age}岁!'
print(message3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值