Python自学——列表

什么是可迭代?

1、它是能够一次返回一个成员的对象,也就是可以 for…in 遍历的;

2、所有的序列类型(也就是后面要说到的 Sequence),都是可迭代对象,如 list、str、tuple,还有映射类型 dict、文件对象等非序列类型也是可迭代对象;

不可迭代的对象:数字类型int float complex等。

#查是否可遍历:
import collections
nums = []/()/...
result = isinstance(nums,collections.Iterable)
print(result)

列表生成:

1、直接生成:l = range(0,10)生成0-9的列表

2、由一个变成另一个:s=[表达式 for 元素 in 原列表 if ...]

列表常用操作:

增加:.extend(iterable);.append(object) 改变原列表;.insert(index,object)在目标位置增加Object,会改变原列表;乘法和加法(列表只能与列表相加)与字符串相同

删除:del,del(index);.pop(index = -1)删除index位置的元素并返回被删除的元素,index默认是-1也就是列表中的最后一个元素。这两个都会改变原列表

改:list[index]=xx

查:list[index];list.index(object,start,end);list.count(obect);list[::]

遍历列表:

for item in list

print(item)结果是元素;

for index in range(len(list)):

print(index,list[index])结果是索引 元素;

由list创建索枚举对象:就是把可遍历的数据对象组合为一个索引序列并且把下标和数据同时输出

enumerate(seq[,start=0])start:下标起始位置

l=['a','b','c']

print(s=enumerate(l,1))

[(1,'a'),(2,'b'),(3,'c')]

遍历枚举对象:

①for index,value in s:

print(index,value)

1 a

2 b

3 c

②生成迭代器:

iterL=iter(s)

print(next(iterL)):使用next调用这个迭代器 结果是1 a

print(next(iterL)):2 b

或者

for item in iterL:

print(item)     结果是1 a

print(item)     2  b

生成的迭代器本身也可迭代。

这两个命令输出相同。

不能多次使用,只能使用一次(使用一次之后指针已经到要被遍历的集合以外了)

排序:

1、sorted(可迭代对象,key,reverse)reverse默认是false,升序。不会改变原列表

res=sorted(l)

print(res,l)返回的是新列表

如果列表里面是元组[(a,b),(c,d)]默认按第一个元素进行比较,也就是a和c比较,如果第一个元素相同,才进行下一个元素比较。那么怎么指定元素呢?

l = [1, 3, 2, 6, 4, 5]
l = [("sz", 18),  ("sz2", 16), ("sz1", 17), ("sz3", 15)]
def getKey(x):
    return x[1]
res = l.sort(key=getKey, reverse=True)
print(res, l)

2、sort 会改变原列表

res=sort(l)

print(res,l)结果是none和排好序的l

乱序:

import random

res = random.shuffle(l)会改变原列表

反转:

1.reverse 会改变原列表

res = l.reverse(l)

2.切片

res=l[::-1]

不改变原列表 res就是反转后的新列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python中的字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其中键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典中,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是相应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典中的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典中的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典中的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典中的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典中的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用中,字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值