python和perl基本语法区别

Posted 小青儿的生信小课堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python和perl基本语法区别相关的知识,希望对你有一定的参考价值。

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

 
   
   
 
  1. 在上一篇博客当中,主要介绍到关于pythonperl关于字符串,列表和数组的一些基本区别。

  2. 今天我们主要介绍一下pythonperl在字典与哈希的区别

  3. 下篇介绍两者在读写文档的区别。

字典与哈希

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

  1. 定义:字典用{}来定义; key=>value对用冒号分割 每个键值对之间用逗号分割。 其中key值是不可变的,且不能有重复。

  2. 访问:我们可以通过dict[key]=value这种方式来进行访问

  3. 修改:我们可以对已有键值对进行修改,删除

 
   
   
 
  1. xiaoqing = {"a":1,"b":["xiao","qing"],("c","d"):3 }

  2. ##由于key值是不可变的,因此只能是字符串或者元组,但是value可以是一个列表

  3. print ("xiaoqing['b']:",xiaoqing["b"])  ##索引

  4. xiaoqing["b"]=["xiaoqing","is","beautiful"] ##对value进行修改

  5. print ("xiaoqing['b']:",xiaoqing["b"])

  6. del xiaoqing[("c","d")]  ##删除某一键值对

  7. print (xiaoqing)

  8. xiaoqing["f"]=4   ###增加某一键值对


  9. for key in xiaoqing: ##遍历字典当中的每个元素

  10.    print (key,":",xiaoqing[key])

上述print的结果为:

 
   
   
 
  1. xiaoqing['b']: ['xiao', 'qing']

  2. xiaoqing['b']: ['xiaoqing', 'is', 'beautiful']

  3. {'a': 1, 'b': ['xiaoqing', 'is', 'beautiful']}

  4. a : 1

  5. b : ['xiaoqing', 'is', 'beautiful']

  6. f : 4

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

  1. 定义:Perl中哈希变量以百分号 (%) 标记开始。

  2. 访问:访问哈希元素格式:${key}。

  3. 修改:在perl中也可以对字典进行修改。

 
   
   
 
  1. ##以上是两种定义方式

  2. %xiaoqing=("a",1,"b",2,"c",3);

  3. %xiaoqing=("a" => 1,"b" => 2,"c" => 3);


  4. ## 我们通过$hash{key}来进行访问

  5. print "\$xiaoqing{'a'} =",$xiaoqing{'a'},"\n";


  6. ##也可以通过@hash{key1key2}来将值存储在数组中

  7. @array=@xiaoqing{"a","b"};

  8. print "array :", @array,"\n";


  9. ##通过$hash{key}=value来扩增字典

  10. $xiaoqing{"f"}=4;

  11. print "\%xiaoqing =",%xiaoqing,"\n";


  12. delete $xiaoqing{"a"};  ##删除其中一个键值对

  13. print "\%xiaoqing =",%xiaoqing,"\n";

  14. ##通过for循环来遍历字典中每个键值对

  15. for my $k(sort keys %xiaoqing){

  16.    print $k,"=",$xiaoqing{$k},"\n"

  17. ;}

上述print的结果为:

 
   
   
 
  1. $xiaoqing{'a'} =1

  2. array :12

  3. %xiaoqing =c3a1b2f4

  4. %xiaoqing =c3b2f4

  5. b=2

  6. c=3

  7. f=4

今天的内容就到这里了。值得注意的一点是,无论在python中还是在perl中,字典都是无序的。

做生信,我是认真的。

谢谢大家,欢迎交流。


以上是关于python和perl基本语法区别的主要内容,如果未能解决你的问题,请参考以下文章

解析Perl 5并检查语法树

Perl 5.20.0 发布

使用Perl执行Python脚本时,为什么不会出现语法错误?

Python基本语法

如何有条件地将 C 代码片段编译到我的 Perl 模块?

Python基本语法