python中的列表,元组,字典(集合,map) 以及对集合,map的遍历

python 3.9.2
pycharm 2020.3.3

前两天简单看了python的基础之后,发现python的列表是个挺有意思和挺个性独立的设计;
列表的定义:[],元组的定义(),字典的定义{}

1.python的列表可以混合存储各种数据,包括最基本的基础数据和复杂的数据;

L2 = [1, "奥特曼", 2]

2.python的列表访问有正反两种方式;

# 输出得到的结果都是 2
print(L2[2]);
print(L2[-1]);

3.python的列表长度获取方式和遍历列表的方式也很特性独立:

# 这个类似于Java中的 for(int i = 0;i<list.size();i++){}的这种写法
# 小tips 如果输出不需要换行或者是要加后缀,可以加end="";
# 例如   print(List[index],end=",");
List = [1,2,3,4,5];
for index in range(len(List)):
    print(List[index]);

4.python的列表可以通过 + * 这种算法运算符进行重复定义或者其他操作;

# 重复定义了三次,最终结果为列表中输出了三次重复的数据
List = [1,2,3,4,5] * 3;
print(List)

List0 = [1,2,3,4,5];
# 将两个列表 拼接/连接 成一个列表
List = [1,2,3,4,5] + List0;
print(List)

5.python的列表(集合长度)的截取,可以明显看到不需要像其他语言一样使用一个方法,直接中括号+冒号就可以了

List0 = [1,2,3,4,5];
print(List0[1:2]);
# 需要注意的是,python中下标越界了也不会报错;
print(List0[0:100]);
# 开始索引过大也不会报错,只会返回空列表数据;
print(List0[100:1000]);

6.python的列表中数据的替换,如果设置了步长替换,那么需要替换的数据的数量要与原列表中的数量一致

# 将索引1-4的数据替换为6,列表长度也发生了变化,变短;
List0 = [1,2,3,4,5];
List0[1:4] = [6];
print(List0);
# 将索引1-4的数据替换为了6,6,7,8,9,00,0,0,0   列表长度发生变化变长;
List0[1:4] = [6,6,7,8,9,00,0,0,0];
print(List0);
# 设置步长的列表替换
List0 = [1,2,3,4,5];
List0[1:4:2] = [6,7];
print(List0);

7.python的列表中判断数据是否存在

List0 = [1,2,3,4,5];
if 1 in List0:
    print("1在列表中");
else:
    print("1不在列表中");
# 还有一种简单暴力的方式,这种找不到会直接报错,然后处理报错异常即可
List0.index(7)

python 3.9.2

python元组合列表的区别
元组中的元素是无法进行修改的;
列表中的元素是可以进行修改的;

1.元组的组成必须有逗号(,);

arg = ("123",);

2.元组也可以和列表一样使用 * +来进行重复和扩展

List0 = ("a",) * 3 + ("b",);
print(List0);

3.使用tuple函数可以将列表转为元组

List0 = tuple([1,2,3,4,5]);
print(List0);

4.使用list函数可以将元组转为列表

List0 = list((1,2,3,4,5));
print(List0);

python中的字典
和Java中的map大同小异,但是python中的字典声明的时候使用的是大括号-{}

# 目前感觉可以存放任意数据类型作为key,value也是
L4 = {"a":1,"b":2,"c":3};
Map = {1:2,3:4,5:6};
print(Map);
# key可以为None 并且输出没有任何问题
Map = {1:2,3:4,5:6,None:7};
print(Map);
print(Map[1]);
print(Map[None]);

# 相同的key,最后面的value会覆盖掉前面那个
Map = {1:2,3:4,5:6,None:7,1:8};
print(Map);

# 列表转换为字典,使用dict()函数,也可以使用dict函数直接定义字典
Map = dict([["a",1],["b",2]]);
Map0 = dict(name = "张三",age = 1,sex = 0);
print(Map);
print(Map0);

# 在字典中找到对应的key和value
Map0 = dict(name = "张三",age = 1,sex = 0);
if "name" in Map0:
    print("字典中存在key:" + "name" + "," + "对应的value值为:" + Map0["name"]);
    
# 在python中 如果要输出整个字典,传统的for循环会非常消耗性能,所以python内置了一个函数items;
# 传统for循环会找到了依旧往下继续查找,导致性能极大的消耗;
Map0 = dict(name = "张三",age = 1,sex = 0);
for key,value in Map0.items():
    print(key,value);
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值