python和perl基本语法区别(二)

本文深入探讨Python与Perl中字典(哈希)的定义、访问、修改及遍历方法,揭示两种语言在数据存储上的差异。

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

python和perl基本语法区别(二)

在上一篇博客当中,主要介绍到关于python和perl关于字符串,列表和数组的一些基本区别。
今天我们主要介绍一下python和perl在字典与哈希的区别
下篇介绍两者在读写文档的区别。

字典与哈希

1、在python中,我们存储对象主要有字符串、列表和字典,而字典存储的是key和value这样相互对应的键值对。

  1. 定义:字典用{}来定义; key=>value对用冒号分割 每个键值对之间用逗号分割。 其中key值是不可变的,且不能有重复。
  2. 访问:我们可以通过dict[key]=value这种方式来进行访问
  3. 修改:我们可以对已有键值对进行修改,删除
xiaoqing = {"a":1,"b":["xiao","qing"],("c","d"):3 } 
##由于key值是不可变的,因此只能是字符串或者元组,但是value可以是一个列表
print ("xiaoqing['b']:",xiaoqing["b"])  ##索引
xiaoqing["b"]=["xiaoqing","is","beautiful"] ##对value进行修改
print ("xiaoqing['b']:",xiaoqing["b"])
del xiaoqing[("c","d")]  ##删除某一键值对
print (xiaoqing)
xiaoqing["f"]=4   ###增加某一键值对

for key in xiaoqing: ##遍历字典当中的每个元素
    print (key,":",xiaoqing[key])
    

上述print的结果为:

xiaoqing['b']: ['xiao', 'qing']
xiaoqing['b']: ['xiaoqing', 'is', 'beautiful']
{'a': 1, 'b': ['xiaoqing', 'is', 'beautiful']}
a : 1
b : ['xiaoqing', 'is', 'beautiful']
f : 4

2、在perl中的字典叫做哈希。

  1. 定义:Perl中哈希变量以百分号 (%) 标记开始。
  2. 访问:访问哈希元素格式:${key}。
  3. 修改:在perl中也可以对字典进行修改。
##以上是两种定义方式
%xiaoqing=("a",1,"b",2,"c",3);
%xiaoqing=("a" => 1,"b" => 2,"c" => 3);

## 我们通过$hash{key}来进行访问
print "\$xiaoqing{'a'} =",$xiaoqing{'a'},"\n";

##也可以通过@hash{key1,key2}来将值存储在数组中
@array=@xiaoqing{"a","b"};
print "array :", @array,"\n";

##通过$hash{key}=value来扩增字典
$xiaoqing{"f"}=4;
print "\%xiaoqing =",%xiaoqing,"\n";

delete $xiaoqing{"a"};  ##删除其中一个键值对
print "\%xiaoqing =",%xiaoqing,"\n";
##通过for循环来遍历字典中每个键值对
for my $k(sort keys %xiaoqing){
    print $k,"=",$xiaoqing{$k},"\n"
;}

上述print的结果为:

$xiaoqing{'a'} =1
array :12
%xiaoqing =c3a1b2f4
%xiaoqing =c3b2f4
b=2
c=3
f=4

今天的内容就到这里了。值得注意的一点是,无论在python中还是在perl中,字典都是无序的。
做生信,我是认真的。
谢谢大家,欢迎交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值