python和perl基本语法区别
Posted 小青儿的生信小课堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python和perl基本语法区别相关的知识,希望对你有一定的参考价值。
python和perl基本语法区别(二)
在上一篇博客当中,主要介绍到关于python和perl关于字符串,列表和数组的一些基本区别。
今天我们主要介绍一下python和perl在字典与哈希的区别
下篇介绍两者在读写文档的区别。
字典与哈希
1、在python中,我们存储对象主要有字符串、列表和字典,而字典存储的是key和value这样相互对应的键值对。
定义:字典用{}来定义; key=>value对用冒号分割 每个键值对之间用逗号分割。 其中key值是不可变的,且不能有重复。
访问:我们可以通过dict[key]=value这种方式来进行访问
修改:我们可以对已有键值对进行修改,删除
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中的字典叫做哈希。
定义:Perl中哈希变量以百分号 (%) 标记开始。
访问:访问哈希元素格式:${key}。
修改:在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中,字典都是无序的。
做生信,我是认真的。
谢谢大家,欢迎交流。
以上是关于python和perl基本语法区别的主要内容,如果未能解决你的问题,请参考以下文章